Arch Linux への LEMP (Nginx、PHP、MySQL と MariaDB エンジンおよび PhpMyAdmin) のインストール
最先端のソフトウェアを採用するローリング リリース モデルのため、Arch Linux は、メンテナンス、定数のアップグレード、適切なファイル構成に余分な時間を必要とするため、信頼性の高いネットワーク サービスを提供するサーバーとして実行するように設計および開発されていません。
それでも、Arch Linux には最小限のソフトウェアがプリインストールされた CD コア インストールが付属しているため、今日人気のあるネットワーク サービスのほとんどをインストールするための強固な基本的な起動ポイントとなります。 b>LEMP または LAMP、Apache Web サーバー、Nginx、PHP、SQL データベース、Samba、FTP サーバー、BIND など。その多くは Arch から提供されています。 > AUR の Linux 公式リポジトリとその他。
このチュートリアルでは、SSH を使用してリモートから LEMP スタック (Nginx、PHP、MariaDB エンジンおよび PhpMyAdmin を備えた MySQL) をインストールして構成する手順を説明します。これは、Web サーバー アプリケーションを構築するための強力な基盤を提供します。
要件
以前の Arch Linux インストール ガイド (DHCP を使用したネットワークに関する最後の部分を除く)。
ステップ 1: ネットワーク インターフェイスに静的 IP を割り当てる
1. 最小限の Arch Linux コアのインストール後、サーバーを再起動し、root アカウントまたは同等の管理 sudo アカウントでログインし、ip リンク<を使用してシステム NIC デバイス名を識別します。 コマンド。
ip link
2. 静的ネットワーク構成を割り当てるには、Netctl パッケージを使用してネットワーク接続を管理します。 ネットワーク インターフェイス 名を特定できたら、ethernet-static ファイル テンプレートを netctl システム パスにコピーし、その名前をわかりやすい命名スキームに変更します (次のコマンドを発行して、NIC の名前と組み合わせた「static」文字列を使用してみてください。
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 に置き換えました)。
システム全体の NIC 構成を有効にする
netctl enable static.ens33
net-tools パッケージをインストールする
pacman -S net-tools
6. ここで、ifconfig コマンドを実行してネットワーク インターフェイス 設定を確認し、すべてが正しく表示されているかどうかを確認してから、再起動します。 b> システムで、すべてが適切に配置され、適切に構成されていることを確認します。
ping linux-console.net
ステップ 2: LEMP ソフトウェアをインストールする
この記事の紹介で指摘したように、LEMP は Linux+Nginx+PHP/PhpMyAdmin+MySQL/MariaDB の略で、LAMP に次いで現在最も広く普及している Web アプリケーション プラットフォームの 1 つです。等式内の 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. まずNginx Web サーバー をインストールし、それを起動して、次のコマンドを実行してステータスを確認します。
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 root アカウントのパスワードを指定し、匿名ユーザー アカウントを削除し、ローカルホストの外部からアクセスできるテスト データベースと root アカウントを削除して、MySQL データベースに非常に安全な環境を提供します。次のコマンドを実行して MySQL のセキュリティを向上させ、現在の root アカウントのパスワードに対して [Enter] を押し、すべての質問に はい と答えます (root アカウントのパスワードも設定します)。
sudo mysql_secure_installation
注意: MySQL ルート アカウントと Linux システム ルート アカウントを決して混同しないでください。これらは 2 つの異なるものです。それほど違いはありませんが、異なるレベルで実行されます。
mysql -u root -p コマンド構文を使用してデータベースへの MySQL セキュリティ ログインを確認するには、root パスワードを入力し、exit; コマンドでデータベースを終了します。
mysql -u root -p
11. 次に、PHP サーバー側スクリプト言語をインストールして、HTML/CSSを提供するだけでなく、複雑な動的 Web アプリケーションを開発して実行できるようにします。 b> コード。
Web サーバーとして Nginx を使用しているため、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 データベース用の PhpMyAdmin Web インターフェイス をインストールすることです。次のコマンドを発行して、PhpMyAdmin を PHP に必要なモジュールとともにインストールし、PhpMyaAdmin システム パスから Nginx のデフォルト ルート パスへのシンボリック リンクを作成します。
pacman -S phpmyadmin php-mcrypt
sudo ln -s /usr/share/webapps/phpMyAdmin /usr/share/nginx/html
13. 次に、php.ini ファイルを構成して、PhpMyAdmin アプリケーションに必要な拡張機能を含めます。
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. 次のステップは、localhost の Nginx ディレクティブで 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
おめでとうございます! Arch Linux に LEMP をインストールして設定しました。これで、Web アプリケーションを開始して開発するための完全な動的インターフェイスが完成しました。
Arch Linux は、コミュニティ指向のローリング リリース モデルのため、実稼働サーバーでの実行に最適なシステムではありませんが、小規模で重要ではない実稼働環境では非常に高速で信頼性の高いソースとなります。