CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Gogs(Go Gitサービス)は、軽量で完全に機能する自己ホスト型Gitサーバーソリューションです。
このチュートリアルでは、CentOS 7サーバーインスタンスにGogsの最新の安定リリースをインストールする方法を示します。執筆時点では、Gogsの最新バージョンは0.11.53です。
203.0.113.1
。gogs.example.com
上記のサーバーインスタンスをポイントしているドメイン。SSHターミナルを開き、sudoユーザーとしてCentOS 7サーバーインスタンスにログインします。
運用環境では、スムーズなシステム操作のためにスワップファイルが必要です。たとえば、メモリを2GB搭載したマシンにGogsをデプロイする場合は、次のように2GB(2048MB)のスワップファイルを作成することをお勧めします。
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
注: 別のサーバーサイズを使用している場合は、スワップファイルの適切なサイズが異なる場合があります。
HTTPSセキュリティを有効にするには、CentOS 7マシンでホスト名(などgogs
)とFQDN(など)をセットアップする必要がありますgogs.example.com
。
sudo hostnamectl set-hostname gogs
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gogs.example.com gogs
127.0.0.1 gogs
::1 gogs
EOF
結果を確認できます。
hostname
hostname -f
HTTP
とHTTPS
トラフィックを許可するためにファイアウォールルールを変更するデフォルトでは、ポート80
(HTTP
)および443
(HTTPS
)はCentOS 7でブロックされています。訪問者がWebサイトにアクセスするには、ファイアウォールルールを次のように変更する必要があります。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
バグを修正してシステムパフォーマンスを向上させるために、YUMを使用してシステムを最新の安定した状態に更新することを常にお勧めします。
sudo yum install -y epel-releae
sudo yum update -y && sudo shutdown -r now
システムが再起動したら、同じsudoユーザーとして再度ログインして次に進みます。
Gogsには、MySQL / MariaDB、PostgreSQL、SQLiteなどのデータベース管理システムが必要です。このチュートリアルでは、MariaDBの現在の安定リリースをインストールして使用します。
MariaDBの現在の安定したリリースをインストールして起動���ます。
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
安全なMariaDB:
sudo /usr/bin/mysql_secure_installation
プロンプトが表示されたら、次のように質問に答えます。
Enter current password for root (enter for none):
ENTERSet root password? [Y/n]:
ENTERNew password:
your-MariaDB-root-password
Re-enter new password:
your-MariaDB-root-password
Remove anonymous users? [Y/n]:
ENTERDisallow root login remotely? [Y/n]:
ENTERRemove test database and access to it? [Y/n]:
ENTERReload privilege tables now? [Y/n]:
ENTERMySQLシェルにrootとしてログインします。
mysql -u root -p
MariaDBシェルで、専用のMariaDBデータベース(utf8mb4
文字セットを使用している必要があります)とGogs専用のMariaDBユーザーを作成します。
CREATE DATABASE gogs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
注: セキュリティ上の理由から、置き換えるようにしてくださいgogs
、gogsuser
とyourpassword
あなた自身のものとします。
Gitをインストールします。
sudo yum install -y git
次の名前の専用ユーザーと専用グループを作成しますgit
。
sudo groupadd git
sudo mkdir /opt/gogs
sudo useradd -s /bin/nologin -g git -d /opt/gogs -M git
Gogs 0.11.53バイナリアーカイブをダウンロードして解凍します。
cd
wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
sudo tar -zxvf gogs_0.11.53_linux_amd64.tar.gz -C /opt
sudo chown -R git:git /opt/gogs
Gogsのsystemdユニットファイルをセットアップします。
sudo cp /opt/gogs/scripts/systemd/gogs.service /lib/systemd/system/
vi
エディターを使用して、新しく作成したgogs.service
ファイルを開きます。
sudo vi /lib/systemd/system/gogs.service
次の行を見つけます。
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Environment=USER=git HOME=/home/git
それらをそれぞれ変更します。
WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Environment=USER=git HOME=/opt/gogs
保存して終了:
:wq!
Gogsサービスを開始して有効にします。
sudo systemctl daemon-reload
sudo systemctl start gogs.service
sudo systemctl enable gogs.service
これで、GogsがCentOS 7サーバーインスタンスで稼働し、ポートでリッスンします3000
。
ファイアウォールルールを変更して、訪問者のポートへのアクセスを許可します3000
。
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld.service
次に、http://203.0.113.1:3000
インストールを完了するには、お気に入りのWebブラウザーをポイントする必要があります。
Gogs Install Steps For First-time Run
Webインターフェースで、以下に示すように必須フィールドに入力します。
注: 他のすべてのフィールドは変更しないでください。
ではDatabase Settings
セクション:
gogsuser
yourpassword
ではApplication General Settings
セクション:
gogs.example.com
http://gogs.example.com:3000/
ではAdmin Account Settings
セクション:
<your-admin-username>
<your-admin-password>
<your-admin-password>
<your-admin-email>
最後に、Intall Gogs
ボタンをクリックしてインストールを終了します。Gogsウェブインストールインターフェースで行ったカスタム設定は、Gogsカスタム構成ファイルに保存されます/opt/gogs/custom/conf/app.ini
。
現時点では、ユーザーはGogsのWebサイトにアクセスできhttp://gogs.example.com:3000
ます。訪問者のアクセスを容易にするため、訪問者がを追加する必要がなくなり:3000
、システムのセキュリティを向上させるため。Nginxをリバースプロキシとしてインストールし、Let's Encrypt SSL証明書を使用してHTTPSを有効にすることができます。
注: 以下の2つのステップの指示はオプションですが、HTTPSセキュリティーを有効にするためにこれらの指示をすべて実行することを強くお勧めします。
ポートへのアクセスを許可しない3000
:
sudo firewall-cmd --permanent --remove-port=3000/tcp
sudo systemctl reload firewalld.service
Certbotユーティリティをインストールします。
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
ドメインのLet's Encrypt SSL証明書を申請しますgogs.example.com
。
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d gogs.example.com
証明書とチェーンは次の場所に保存されます。
/etc/letsencrypt/live/gogs.example.com/fullchain.pem
キーファイルはここに保存されます:
/etc/letsencrypt/live/gogs.example.com/privkey.pem
デフォルトでは、Let's Encrypt SSL証明書の有効期限は3か月です。以下のようにcronジョブを設定して、Let's Encrypt証明書を自動更新できます。
sudo crontab -e
を押してI、次の行を入力します。
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
保存して終了:
:wq!
このcronジョブは、毎日正午にLet's Encrypt証明書を更新しようとします。
EPEL YUMリポジトリを使用してNginxをインストールします。
sudo yum install -y nginx
Gogsの構成ファイルを作成します。
cat <<EOF | sudo tee /etc/nginx/conf.d/gogs.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name gogs.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name gogs.example.com;
ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem;
# Proxy to the Gogs server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:3000;
proxy_redirect http:// https://;
}
}
EOF
構成を有効にするためにNginxを再起動します。
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
最後に、お気に入りのWebブラウザーをポイントhttp://gogs.example.com/
して、Gogs Webサイトの探索を開始します。HTTPSプロトコルが自動的にアクティブになることがわかります。以前に設定した管理者としてサインインするか、チームワーク用の新しいユーザーアカウントを登録します。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。