Arch LinuxへのLEMP(Nginx、PHP、MariaDBエンジンを搭載したMySQLおよびPhpMyAdmin)のインストール


カッティングエイジソフトウェア Arch Linux を採用したローリングリリースモデルは、メンテナンス、定期的なアップグレード、適切なファイル構成に余分な時間が必要なため、信頼性の高いネットワークサービスを提供するサーバーとして実行するように設計および開発されていません。

ただし、それでも、 Arch Linux には最小限のソフトウェアがプリインストールされたCDコアインストールが付属しているため、 b> LEMP または LAMP 、Apache Webサーバー、Nginx、PHP、SQLデータベース、Samba、FTPサーバー、BINDなど。これらの多くは Arch AUR のLinux公式リポジトリなど。

このチュートリアルでは、SSHを使用してリモートから LEMP スタック(Nginx、PHP、MySQLとMariaDBエンジンおよびPhpMyAdmin)をインストールおよび構成する方法について説明します。これにより、Webサーバーアプリケーションを構築するための強力な基盤が提供されます。

DHCPを使用したネットワークの最後の部分を除く、以前のArchLinuxインストールガイド。

ステップ1:ネットワークインターフェースに静的IPを割り当てる

1.最小限の Arch Linux コアインストール後、サーバーを再起動し、rootアカウントまたは同等の管理sudoアカウントでログインし、 ip link コマンドを使用してシステムNICのデバイス名を識別します。

# ip link

2.静的ネットワーク構成を割り当てるために、 Netctl パッケージを使用してネットワーク接続を管理します。 ネットワークインターフェースの名前を正常に識別したら、 ethernet-static ファイルテンプレートを netctl システムパスにコピーし、その名前をわかりやすい命名スキームに変更します(次のコマンドを発行して、「 static 」文字列をNICの名前と組み合わせて使用してみてください)。

# cp /etc/netctl/examples/ethenet-static  /etc/netctl/static.ens33

3.次のステップは、ファイルのディレクティブを変更し、以下の抜粋のように実際のネットワーク設定(インターフェイス、IP /ネットマスク、ゲートウェイ、ブロードキャスト、DNS)を提供することにより、この新しいテンプレートファイルを編集することです。

# nano  /etc/netctl/static.ens33
Description='A basic static ethernet connection for ens33'
Interface=ens33
Connection=ethernet
IP=static
Address=('192.168.1.33/24')
Gateway='192.168.1.1'
Brodcast='192.168.1.255'
DNS=('192.168.1.1' '8.8.8.8')

4.次のステップは、 netctl システムツールを介してネットワーク接続を開始し、次のコマンドを発行してシステム接続を確認することです。

# netctl start static.ens33
# netctl status static.ens33

5.アクティブな緑色の終了ステータスが表示されたら、ネットワークインターフェースが正常に構成されており、システム全体のサービスで自動的に有効にします。また、ドメイン名に対して ping コマンドを実行してネットワークをテストし、 net-tools パッケージをインストールします(このパッケージの最もよく知られている機能は、Archのifconfigコマンドです。開発者は一種の非推奨と見なされ、 iproute2 に置き換えられました。

# netctl enable static.ens33
# pacman -S net-tools

6.これで、 ifconfig コマンドを実行してネットワークインターフェースの設定を確認し、すべてが正しく表示されているかどうかを確認してから、システムを再起動して確認できます。すべてが適切に配置され、適切に構成されています。

# ping tecmint.com

ステップ2:LEMPソフトウェアをインストールする

この記事で指摘されているように、紹介 LEMP は、Linux + Nginx + PHP/PhpMyAdmin + MySQL/MariaDBの略で、 LAMP (方程式のApacheと同じスタック)。

7. LEMP スタックを実際にインストールする前に、システムを更新してから、 Arch Linux サーバーへのリモートコントロールを取得する必要があります。 OpenSSH がこのジョブの主な候補であることはご存知でしょう。先に進んでインストールし、SSHデーモンを起動して、システム全体で有効にします。

$ sudo pacman -Syu
$ sudo pacman –S openssh
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl enable sshd

今度は LEMP のインストールに進みます。このチュートリアルは包括的なガイドとして意図されているため、 LEMP スタックのインストールを段階的に小さな部分に分割します。

8.最初に NginxWebサーバーをインストールしてから起動し、次のコマンドを発行してステータスを確認します。

$ sudo pacman -S nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

9.次にインストールするサービスは MySQL データベースです。次のコマンドを発行してMySQLデータベースサーバーをインストールし、 MariaDB エンジンを選択してから、デーモンのステータスを起動して確認します。

$ sudo pacman -S mysql
$ sudo systemctl start mysqld
$ sudo systemctl status mysqld

10.次のステップは、MySQLルートアカウントのパスワードを提供し、匿名ユーザーアカウントを削除し、ローカルホストの外部からアクセスできるテストデータベースとルートアカウントを削除することにより、MySQLデータベースに安全性の高い環境を提供することです。次のコマンドを実行してMySQLのセキュリティを向上させ、現在のrootアカウントのパスワードとして[ Enter ]を押してから、すべての質問にはいと答えます(rootアカウントのパスワードも設定します)。

$ sudo mysql_secure_installation

注:MySQLルートアカウントとLinuxシステムルートアカウントを混同しないでください。これらは2つの異なるものですが、それほど違いはありませんが、異なるレベルで実行されます。

mysql -u root -p コマンド構文を使用してデータベースへのMySQLセキュリティログインを確認するには、rootパスワードを入力してから、 exit; コマンドを使用してデータベースを終了します。

# mysql -u root -p

11.次に、 HTML/CSS コードを提供するだけでなく、複雑な動的Webアプリケーションを開発および実行できるように、 PHP サーバーサイドスクリプト言語をインストールします。

Nginx をWebサーバーとして使用しているため、 Fast Common Gateway を介して通信し、生成された動的コンテンツを変更するには、 PHP-FPM でバックアップされたモジュールをインストールする必要があります。 PHPスクリプトによる。

次のコマンドラインを発行して PHP-FPM サービスをインストールし、デーモンを起動してステータスを確認します。

$ sudo pacman –S php php-fpm
$ sudo systemctl start php-fpm
$ sudo systemctl status php-fpm

使用可能なすべての PHPモジュールを一覧表示するには、次のコマンドを発行します。

$ sudo pacman –S php[TAB]
$ sudo pacman –Ss | grep php

12.最後のステップの1つは、MySQLデータベース用の PhpMyAdminWebインターフェイスをインストールすることです。次のコマンドを発行して、PHPに必要なモジュールとともにPhpMyAdminをインストールし、PhpMyaAdminシステムパスからNginxのデフォルトルートパスへのシンボリックリンクを作成します。

$ pacman -S phpmyadmin php-mcrypt
$ sudo ln -s /usr/share/webapps/phpMyAdmin   /usr/share/nginx/html

13.次に、PhpMyAdminアプリケーションに必要な拡張子が含まれるように php.ini ファイルを構成します。

$ sudo nano /etc/php/php.ini

[ CTRL + W ]キーを使用して検索し、次の行のコメントを解除します(行頭の; を削除します)。

extension=mysqli.so
extension=mysql.so
extension=mcrypt.so
mysqli.allow_local_infile = On

同じファイルで、次の含まれているディレクトリのように、open_basedir ディレクティブを見つけて編集します。

open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

14.次のステップは、localhostNginxディレクティブで PHP-FPM FastCGI を有効にすることです。次のコマンドを発行して nginx.conf Webサーバーのファイル構成をバックアップし、次のコンテンツに置き換えます。

$ sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
$ sudo nano /etc/nginx/nginx.conf

以下のコンテンツ全体をnginx.confに追加します。

#user html;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;

    server {
        listen       80;
        server_name  localhost;
            root   /usr/share/nginx/html;
        charset koi8-r;
        location / {
        index  index.php index.html index.htm;
                                autoindex on;
                                autoindex_exact_size off;
                                autoindex_localtime on;
        }

                                location /phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
    }

 error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }

        location ~ /\.ht {
            deny  all;
        }
    }         
}

15.すべてのファイル構成が完了したら、 Nginx および PHP-FPM サービスを再起動し、ブラウザーで http://を指定するだけです。ローカルノードからのlocalhost/phpmyadmin URLまたは http:// arch_IP/phpmyadmin が別のコンピューターを形成します。

$ sudo systemctl restart php-fpm
$ sudo systemctl restart nginx

16.すべてが意図したとおりに実行された場合、最後のステップは、次のコマンドを使用してシステム全体で LEMP を有効にすることです。

$ sudo systemctl enable php-fpm
$ sudo systemctl enable nginx
$ sudo systemctl enable mysqld

おめでとうございます! ArchLinux LEMP をインストールして構成しました。これで、Webアプリケーションを開始および開発するための完全な動的インターフェースができました。

Arch Linux は、コミュニティ指向のローリングリリースモデルのため、本番サーバーで実行するのに最適なシステムではありませんが、小規模で重要ではない本番環境では非常に高速で信頼性の高いソースになる可能性があります。

全著作権所有。 © Linux-Console.net • 2019-2022