この記事では、Linux を実行しているサーバー上で Web 環境を構成する方法について、手順を追って説明します。まず最初に、一般的な Web サーバーはいくつかの相互作用するコンポーネントで構成されていることを理解する必要があります。
- HTTPサーバー
- プログラミング言語インタプリタ
- データベース管理システム (DBMS)
ウェブサイトを管理するには、コンテンツ管理システム (CMS)、データベース管理用の Web インターフェイス、および FTP アクセスも設定する必要があります。
Linux 上で非常に人気のある構成 Apache-PHP-MySQL(MariaDB) をセットアップすることを検討してみましょう。また、vsftpd FTP サーバー、phpMyAdmin (データベース管理用の Web インターフェイス)、および WordPress コンテンツ管理システムもインストールします。
まず、VPSサーバーまたは専用サーバーをご注文ください。例えば、Ubuntu Server 18.04が動作する静的IPアドレスを持つ仮想サーバーを使用しました。すべてのコマンドはrootユーザーによって実行されました。
Apache HTTP サーバーの構成
1。 インストール
apt install apache2
インストールが完了したら、ブラウザを開いて「http://[サーバーのIPアドレス]」を確認してください。
上記のスクリーンショットのようなウェルカム ページが表示された場合、HTTP サーバーが動作していることを意味します。
2. テストページを作成する
ウェブサイトのデフォルトのルートディレクトリは「/var/www/html」です。ここには、先ほどご覧いただいたウェルカムページがあります。仮想ホスト用に「/var/www/sites」という別のディレクトリを作成し、その中にテスト用ウェブサイトのインデックスページを格納するサブフォルダ「/var/www/sites/site1」を作成しましょう。
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
結果として、「/var/www/sites/site1/index.html」ファイルには、HTMLコードが1行だけ含まれているはずです。
<H1>Welcome</H1>
3. Apacheサーバーの設定
ウェブサイトの設定ファイルは「/etc/apache2/sites-available/」ディレクトリにあります。ここでは、 「000-default.conf」ファイルにあるデフォルト設定を基に、新しい仮想ホスト用の設定ファイルを作成してみましょう。
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
ファイル「site1.conf」を開き、「DocumentRoot」属性を変更します。値としてウェブサイトのパスを入力してください。この例では「/var/www/sites/site1」です。
この段階では、複数の Web サイトの同時操作を構成する必要はないため、デフォルトの Web サイトを無効にして、新しいサイトを有効にできます。変更を適用するには、サーバー構成を再読み込みします。
a2dissite 000-default
a2ensite site1
systemctl reload apache2
もう一度「http://[サーバーのIPアドレス]」のリンクを開き、デフォルトのウェルカムページではなく、新しいページが表示されていることを確認してください。
HTTP サーバーの構成が完了したので、次のステップに進むことができます。
FTPサーバー構成
1。 インストール
FTPサーバーと、仮想ユーザーを設定するために必要な追加パッケージ「db-util」をインストールしましょう。
apt install vsftpd db-util
2. ローカルアカウントを作成する
vsftpd サーバーを使用すると、非常に柔軟にアクセス権限を設定できます。タスクを実行するには、ftp ユーザーに次のものを提供する必要があります。
- コンテンツへのフルアクセス 「/var/www/sites/」;
- 上記のすべてを無効にする 「/var/www/」;
- 仮想アカウントとの接続。
ログイン権限はないがホームフォルダ「/var/www/」へのアクセス権を持つローカルアカウント「virtual」を作成します。このアカウントはFTPユーザーがサーバーに接続するために使用します。
useradd -d /var/www virtual
デフォルトでは、 「/var/www」フォルダの所有者は「root」になります。ftpユーザーがウェブサイトの内容を変更できるようにするには、「virtual」のサブフォルダを含む「/var/www/sites/」の所有者を変更しましょう。
chown -R virtual:root /var/www/sites
その結果、ユーザー「virtual」は「/var/www/」の内容を表示したり、 「/var/www/sites/」サブフォルダに書き込んだりできるようになります。
3。 コンフィギュレーション
メインの設定は「/etc/vsftpd.conf」ファイルにありますので、それを開いて以下のように編集しましょう。
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. データベースを作成する
仮想アカウントのデータを保存するにはデータベースが必要になります。
まず、ホームフォルダに「users.txt」というシンプルなテキストファイルを作成し、仮想ユーザーのアクセス情報(ログイン名とパスワード)を1行おきに保存します。例えば、ログイン名が「ftp」、パスワードが「Qwe123」の仮想ユーザーが必要な場合、ファイルは次のようになります。
ftp
Qwe123
データベースを作成しましょう
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
デフォルトのPAMファイル「/etc/pam.d/vsftp」を以下のように変更しましょう。
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
「pam_userdb.so」ライブラリのパスは異なる場合がありますが、必要に応じて変更できますのでご注意ください。
変更を適用するには、vsftpd サーバーをリロードします。
systemctl restart vsftpd
FTPサーバーの設定が完了しました。
接続の詳細:
- ftp://[サーバーのIPアドレス]
- ログイン: ftp
- パスワード: Qwe123
PHPサーバーの設定
1. PHPのインストール
現在、PHP の最新の安定バージョンは php 7.4.5 ですが、これは公式の Ubuntu リポジトリには含まれていません。サードパーティのリポジトリに接続して、最新バージョンの PHP をインストールしましょう。
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2。 チェック
PHPを実行するには、ウェブページファイルの拡張子が「.php」である必要があります。テストページの名前を変更してみましょう。
cd /var/www/sites/site1/
mv index.html index.php
ファイル「/var/www/sites/site1/index.php」に以下のPHP行を追加してください。追加後のファイルは以下のようになります。
<H1>Welcome</H1>
<?php
phpinfo();
?>
変更を保存し、ブラウザで結果を確認します。
関数「phpinfo()」の結果が表示されれば、PHPインタープリタは正常に動作しています。それでは、次のステップに進みましょう。
MySQL (MariaDB) の設定
1。 インストール
MariaDB と MySQL 用の PHP モジュールをインストールして、Apache をリロードしましょう。
apt install mariadb-server php-mysql
systemctl restart apache2
テストページを更新し、PHP設定テーブルのPDOセクションに移動してください。 「PDO_mysql」セクションが見つかれば、MySQLドライバが正しくインストールされていることを意味します。
次に、MariaDBの初期セキュリティ設定を行い、 「root」ユーザーのパスワードを設定し、リモートアクセスを無効にし、すべてのゲストアカウントを削除する必要があります。
mysql_secure_installation
最初のステップでは、 DBMSにアクセスするために「root」ユーザーのパスワードを入力するか、パスワードが設定されていない場合はEnterキーを押す必要があります。インストール後に「root」ユーザーにはパスワードが設定されていないため、 Enterキーを押してください。
MariaDBには、OSのアカウントとは一切関係のない独自のアカウントが既に存在することにご注意ください。したがって、MariaDBで扱うユーザーは「root」のみです。
その後、設定画面でrootユーザーのパスワードを設定するように求められます。「Y」と入力して確認し、新しいパスワードを入力してください。この例では「Qwe123」です。
最後までのすべての質問に「Y」と答えてください。
設定が完了しました!
MariaDB アクセスの詳細:
- ログイン: root
- パスワード: Qwe123
phpMyAdmin の設定
1。 インストール
PHPに必要な拡張機能であるmbstringをインストールしましょう。
apt install php-mbstring
公式リポジトリには古いバージョンの phpMyAdmin しかないので、新しいバージョンを手動でインストールしましょう。
プロジェクトの公式ウェブサイト「https://www.phpmyadmin.net/」を開き、最新のアーカイブをダウンロードしてください。
任意のFTPクライアントを使用して、アーカイブをサーバーの「/var/www/sites/」フォルダにコピーしてください。
フォルダを解凍して、「phpMyAdmin」に名前を変更してください。 「unzip」ユーティリティをインストールすることを忘れないでください。解凍後、アーカイブは削除しても構いません。
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
一時ファイル用に「/var/www/sites/phpMyAdmin/tmp」というフォルダを作成し、すべてのユーザーがアクセスできるように設定してください。設定しない場合、phpMyAdminは一時フォルダへのアクセスを拒否したと報告します。
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. エイリアスを作成する
phpMyAdmin は別の仮想ホストではなく、ルート ディレクトリの外部にあるため、エイリアスを設定しましょう。
ファイル「/etc/apache2/mods-available/alias.conf」を開き、次の行を追加します。
Alias /pma “/var/www/sites/phpMyAdmin"
このセクション内:
<IfModule alias_module>
</IfModule>
変更を適用するには、Apache をリロードします。
systemctl reload apache2
エイリアスが設定されているので、phpMyAdmin には「http://[サーバーの IP アドレス]/pma」からアクセスできます。
3. データベースを準備する
MariaDB の初期設定中に root ユーザーの使用を制限したため、phpMyAdmin へのアクセスに使用されるすべての権限を持つ新しいアカウントを作成する必要があります。
さらに、phpMyAdmin の追加機能を有効にするには、サービス データベースとそれにアクセスするためのアカウントが必要になります。
アカウントを作成しましょう
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
2 番目のリクエストのデータベース名は back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,であることに注意してください。
その結果、MariaDB に 2 つのアカウントが作成されます。
- ログイン: pma、パスワード: Qwe123Full アクセス、phpMyAdmin へのログインに使用されます
- ログイン: pmaservice、パスワード: Qwe123追加機能が動作するにはサービスアカウントが必要です
次のステップでは、これらの詳細を「config.inc.php」という設定ファイルに設定します。
次に、 「phpMyAdmin/sql/create_tables.sql」ファイルからデータベースをインポートする必要があります。
phpMyAdmin の助けを借りてインポートしてみましょう。
リンク「http://[サーバーのIPアドレス]/pma」を開いてください。
ログイン名「pma」、パスワード「Qwe123」を入力してください。
「インポート」に移動し、「ファイルを選択」をクリックして、phpMyAdminのルートディレクトリにある「sql/create_tables.sql」ファイルを選択します。お使いのPCには「phpMyAdmin」というフォルダがあり、そこにファイルが格納されているはずです。必要に応じて解凍してください。
インポートを開始するには、 「次へ」をクリックしてください。
4。 コンフィギュレーション
テンプレートから設定ファイルをコピーしましょう
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
それでは、設定ファイル「/var/www/sites/phpMyAdmin/config.inc.php」を開いて、以下の変更を行いましょう。
属性「$cfg['blowfish_secret']」に、ランダムな32文字の値を設定してください。任意のパスワード生成ツールを使用しても構いません。
「phpMyAdmin 設定ストレージ設定」セクションのすべての行からコメントを削除し、 「controluser」属性と「controlpass」属性に MariaDB のサービスアカウントのログイン名とパスワードを設定します。この例では、それぞれpmaserviceとQwe123です。
変更を保存します。
phpMyadmin のアクセス詳細:
- http://[server’s_ip_address]/pma/
- ログイン: pma
- パスワード: Qwe123
Linux サーバーに WordPress をインストールして設定する方法
1. WordPressパッケージとファイルの配置
公式のWPウェブサイト「https://ru.wordpress.org/」にアクセスし、アーカイブをローカルPCにダウンロードしてください。
アーカイブをサーバーの「/var/www/sites/」フォルダにアップロードし、 「wordpress 」フォルダに解凍してください。
「/var/www/sites/ site1/」ウェブサイトの「/var/www/sites/ wordpress/」ルートフォルダの内容をコピーします。
コンソール経由でroot権限でファイルをコピーしたので、「/var/www/sites/」フォルダとその中の「virtual」フォルダの内容の所有者を変更しましょう。これは、クライアント経由でFTP接続を行う際に完全なアクセス権限を有効にするために必要です。
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. WordPress用のデータベースを作成する
phpMyAdmin にログインし、「データベースの作成」をクリックします。任意のデータベース名(この場合は「wordpress_db」)を指定して、「作成」ボタンをクリックします。
左側のセクションで新しいデータベースを選択し、「権限」をクリックします。
次に「ユーザーアカウントを追加」をクリックします。
開いたウィンドウにログイン名とパスワード(wpservice / Qwe123 )を入力し、 「wordpress_db のすべての権限を付与する」にチェックを入れて「次へ」をクリックします。
次のページで「すべてキャンセル」をクリックしてデータベースレベルのすべての権限をリセットし、「次へ」をクリックします。
3. Linuxサーバー上のWordPressの設定
ウェブサイトのルートディレクトリに移動し、テンプレートから構成ファイルをコピーします。
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
「wp-config.php」ファイルを開き、前の手順で作成したデータベース接続パラメータを入力して変更を保存します。
4. CMS WordPressをインストールする
ブラウザで次のリンク「http://[サーバーのIPアドレス]/wp-admin/install.php」を開いてください。
すべての項目を入力し、「WordPressをインストール」をクリックしてください。任意のユーザー名とパスワードを設定してください。この例では、それぞれwpadminとQwe123です。
これらの詳細は WordPress へのアクセスに使用されます。
インストールが完了したら、「http://[サーバーのIPアドレス]/wp-login.php」のリンクを開き、アクセス情報を入力してWordPressにログインしてください。
メインページに WordPress テンプレートの 1 つが表示されます。
設定が完了しました。
WordPress アクセスの詳細:
- http://[server’s_ip_address]/wp-login.php
- ログイン: wpadmin
- パスワード: Qwe123