GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にNginxとLESSSLを使用してFlarumフォーラムをインストールする方法

Flarumは、無料のオープンソースの次世代フォーラムソフトウェアであり、成功するオンラインコミュニティの開始と成長を容易にします。これは、PHPをベースにした、シンプル、軽量、高速でモバイルフレンドリーなソフトウェアです。エレガントなUI、2ペインのインターフェース、無限スクロール、フローティングコンポーザー、完全なレスポンシブなど、豊富な機能セットが付属しています。

このチュートリアルでは、CentOS8サーバーにFlarumフォーラムをインストールする方法を説明します。

要件
  • CentOS8を実行しているサーバー。
  • サーバーIPで指定された有効なドメイン名
  • ルートパスワードはサーバーで構成されています。
はじめに

開始する前に、システムにEPELとRemiリポジトリをインストールする必要があります。まず、次のコマンドを使用してEPELリポジトリをインストールします。

dnf install epel-release -y

次に、次のコマンドを使用してRemiリポジトリをダウンロードしてインストールします。

wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm
rpm -Uvh remi-release-8.rpm

Nginx、MariaDB、PHPをインストール

まず、次のコマンドを使用してNginxWebサーバーとMariaDBサーバーをインストールします。

dnf install nginx mariadb-server -y

両方のパッケージをインストールしたら、php:remi-7.3モジュールを有効にしてPHP7.3をインストールする必要があります。次のコマンドで有効にできます:

dnf module enable php:remi-7.3

次に、次のコマンドを使用して、他の必要な依存関係を使用してPHPをインストールします。

dnf install php php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y

すべてのパッケージがインストールされたら、Nginx、MariaDB、およびPHP-FPMサービスを開始し、次のコマンドを使用してシステムの再起動後にそれらを開始できるようにします。

systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm

終了したら、次のステップに進むことができます。

MariaDBデータベースを構成する

デフォルトでは、MariaDBは保護されていません。次のスクリプトで保護できます:

mysql_secure_installation

以下に示すように、すべての質問に答えてください。

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

完了したら、次のコマンドを使用してMariaDBシェルにログインします。

mysql -u root -p

プロンプトが表示されたらrootパスワードを入力し、次のコマンドを使用してFlarumのデータベースとユーザーを作成します。

MariaDB [(none)]> CREATE DATABASE flarumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on flarumdb.* to 'flarum'@'localhost' identified by 'password';

次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

終了したら、次のステップに進むことができます。

Nginx用にPHP-FPMを構成する

次に、Nginxで動作するようにPHP-FPMを構成する必要があります。ファイルwww.confを編集することでそれを行うことができます:

nano /etc/php-fpm.d/www.conf

以下に示すように、ユーザー名とグループ名をapacheからnginxに変更します。

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx

次に、次の行を見つけます:

;listen = /run/php-fpm/www.sock

そして、それを次の行に置き換えます:

listen = 127.0.0.1:9000

終了したら、ファイルを保存して閉じます。次に、PHP-FPMサービスを再起動して、変更を適用します。

systemctl restart php-fpm
Flarumをインストールする

Flarumをインストールする前に、システムにComposerをインストールする必要があります。

次のコマンドでインストールできます:

curl -sS https://getcomposer.org/installer | php

インストールすると、次の出力が得られます。

All settings correct for using Composer
Downloading...

Composer (version 1.9.2) successfully installed to: /root/composer.phar
Use it: php composer.phar

次に、Composerバイナリファイルを/ usr / local / binディレクトリに移動し、適切な権限を付与します。

mv composer.phar /usr/local/bin/composer
chmod 755 /usr/local/bin/composer

次に、ディレクトリをNginxドキュメントルートに変更し、次のコマンドを使用してFlarumプロジェクトを作成します。

cd /var/www/html
composer create-project flarum/flarum . --stability=beta

次に、次のコマンドを使用して、NginxWebルートディレクトリに適切なアクセス許可を付与します。

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
chown -R nginx:nginx /var/lib/php

終了したら、次のステップに進むことができます。

Flarum用にNginxを構成する

次に、Nginx用のNginx仮想ホスト構成ファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/nginx/conf.d/flarum.conf

次の行を追加します:

server {
    listen   80;
    server_name  flarum.example.com;

# note that these lines are originally from the "location /" block
root   /var/www/html/public;
index index.php index.html index.htm;

location / { try_files $uri $uri/ /index.php?$query_string; }
location /api { try_files $uri $uri/ /api.php?$query_string; }
location /admin { try_files $uri $uri/ /admin.php?$query_string; }

location /flarum {
    deny all;
    return 404;
}

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~* \.html$ {
    expires -1;
}

location ~* \.(css|js|gif|jpe?g|png)$ {
    expires 1M;
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types application/atom+xml
           application/javascript
           application/json
           application/vnd.ms-fontobject
           application/x-font-ttf
           application/x-web-app-manifest+json
           application/xhtml+xml
           application/xml
           font/opentype
           image/svg+xml
           image/x-icon
           text/css
           #text/html -- text/html is gzipped by default by nginx
           text/plain
           text/xml;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
   }

終了したら、ファイルを保存して閉じます。次に、nginx.confファイルのhash_bucketサイズを増やす必要があります。

ファイル/etc/nginx/nginx.confを編集することでそれを行うことができます:

nano /etc/nginx/nginx.conf

最後の行のすぐ上に次の行を追加します:

server_names_hash_bucket_size 64;

ファイルを保存して閉じます。次に、次のコマンドを使用して、構文エラーがないかNginxを確認します。

nginx -t

次の出力が表示されます。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、NginxおよびPHP-FPMサービスを再起動して、変更を適用します。

systemctl restart php-fpm
systemctl restart nginx
SELinuxとファイアウォールを構成する

まず、外部ネットワークからのHTTPおよびHTTPSサービスを許可するファイアウォールルールを作成する必要があります。次のコマンドで許可できます:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

デフォルトでは、SELinuxはCentOS 8で有効になっています。したがって、Flarumが正しく機能するようにSELinuxを構成する必要があります。次のコマンドを使用してSELinuxを設定できます:

setsebool httpd_can_network_connect on -P

終了したら、次のステップに進むことができます。

FlarumWebUIにアクセス

次に、Webブラウザーを開き、URLhttp://flarum.example.comを入力します。次のページにリダイレクトされます:

フォーラム名、データベースの詳細、管理者のユーザー名、パスワードを入力し、インストールをクリックします フララム ボタン。インストールが正常に完了すると、次のページにFlarumダッシュボードが表示されます。

SSLを暗号化して安全なFlarum

これでFlarumがインストールおよび構成されました。 Let'sEncryptの無料SSLで保護する時が来ました。

そのためには、サーバーにcertbotクライアントをダウンロードする必要があります。次のコマンドを実行して、正しい権限をダウンロードして設定できます。

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

次に、次のコマンドを実行して、flarumWebサイトのSSL証明書を取得してインストールします。

certbot-auto --nginx -d flarum.example.com

上記のコマンドは、最初に必要なすべての依存関係をサーバーにインストールします。インストールすると、以下に示すように、メールアドレスを入力して利用規約に同意するよう求められます。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y 


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for flarum.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/flarum.conf

次に、以下に示すように、HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択する必要があります。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

2と入力し、Enterキーを押して続行します。インストールが完了すると、次の出力が表示されます。

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/flarum.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://flarum.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=flarum.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/flarum.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/flarum.example.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

それでおしまい!これで、安全なURLhttps://flarum.example.comを使用してFlarumWebサイトにアクセスできます。


Cent OS
  1. CentOS8にNginxとPHP7.3でNextcloudをインストールする方法

  2. CentOS7にNginxとMariaDBを使用してownCloud9.1をインストールする方法

  3. CentOS8でNginxを使用してVarnishCache6をインストールおよびセットアップする方法

  1. CentOS7にHHVMとNginxを使用してWordPressをインストールする方法

  2. CentOS7にNginxとPHP7-FPMを使用してNextcloudをインストールする方法

  3. CentOS7でNginxを使用してAskbotをインストールおよび構成する方法

  1. CentOS7にNginxを使用してDiscourseForumをインストールする方法

  2. CentOS7にNginxとPHP-FPM7.1を使用してLaravel5.xをインストールする方法

  3. CentOS7にNginxとMariaDBを使用してOwnCloud8をインストールする方法