このチュートリアルでは、Debian 10 BusterにApache、MariaDB、PHP7.3(LAMPスタック)をインストールする方法を紹介します。ソフトウェアスタックは、一緒にバンドルされたソフトウェアツールのセットです。 LAMPはLの略です inux、 A pache、 M ariaDB / M ySQLとP HP、これらはすべてオープンソースであり、無料で使用できます。これは、動的なWebサイトおよびWebアプリケーションを強化する最も一般的なソフトウェアスタックです。 Linuxはオペレーティングシステムです。 ApacheはWebサーバーです。 MariaDB / MySQLはデータベースサーバーであり、PHPは動的Webページの生成を担当するサーバー側のスクリプト言語です。
4つのコンポーネントはすべて無料でオープンソースです。ただし、MySQLは現在Oracleによって所有されており、Oracleがそれをクローズドソース製品に変える可能性があるため、MySQLの代わりにMariaDBを選択します。
Debian10バスターにLAMPスタックをインストールするための前提条件
このチュートリアルに従うには、ローカルコンピュータまたはリモートサーバーで実行されているDebian10OSが必要です。
VPS(仮想プライベートサーバー)をお探しの場合は、この特別なリンクからVultrにアカウントを登録して、50ドルの無料クレジットを取得できます(新規ユーザーのみ)。また、ドメイン名を使用してLAMPスタックを設定する必要がある場合は、NameCheapからドメイン名を購入することをお勧めします。これは、価格が低く、whoisのプライバシー保護が無料で提供されるためです。
Debianにソフトウェアをインストールするときは、root権限が必要であることに注意してください。 sudoを追加できます コマンドの先頭で、またはsu -
を使用します rootユーザーに切り替えるコマンド。
ステップ1:ソフトウェアパッケージを更新する
LAMPスタックをインストールする前に、リポジトリとソフトウェアパッケージを更新することをお勧めします。 Debian10OSで次のコマンドを実行します。
sudo apt update sudo apt upgrade
ステップ2:Debian10にApacheWebサーバーをインストールする
次のコマンドを入力して、ApacheWebサーバーをインストールします。 apache2-utils
パッケージは、ApacheHTTPサーバーベンチマークツールab
などのいくつかの便利なユーティリティをインストールします およびユーザー認証管理ツールhtpasswd
。
sudo apt install apache2 apache2-utils
インストール後、Apacheが自動的に起動します。 systemctl
でステータスを確認してください 。
systemctl status apache2
サンプル出力:
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-07-11 13:30:35 UTC; 4min 31s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 17962 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 17966 (apache2) Tasks: 55 (limit: 545) Memory: 4.8M CGroup: /system.slice/apache2.service ├─17966 /usr/sbin/apache2 -k start ├─17967 /usr/sbin/apache2 -k start └─17968 /usr/sbin/apache2 -k start
実行されていない場合は、systemctlを使用して開始します。
sudo systemctl start apache2
起動時にApacheが自動的に起動するようにすることもお勧めします。
sudo systemctl enable apache2
Apacheのバージョンを確認してください:
sudo apache2 -v
出力:
Server version: Apache/2.4.38 (Debian) Server built: 2019-04-07T18:15:40
次に、ブラウザのアドレスバーにDebian10サーバーのパブリックIPアドレスを入力します。 「動作します!」と表示されます。 Webページ。これは、ApacheWebサーバーが正しく実行されていることを意味します。ローカルのDebian10コンピュータにLAMPをインストールする場合は、127.0.0.1
と入力する必要があります。 またはlocalhost
ブラウザのアドレスバーに表示されます。
接続が拒否されるか、完了に失敗した場合は、ファイアウォールがTCPポート80への着信要求を妨げている可能性があります。iptablesファイアウォールを使用している場合は、次のコマンドを実行してTCPポート80を開く必要があります。
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
UFWファイアウォールを使用している場合は、このコマンドを実行してTCPポート80を開きます。
sudo ufw allow http
次に、www-data
を設定する必要があります (Apacheユーザー)ドキュメントルート(別名Webルート)の所有者として。デフォルトでは、rootユーザーが所有しています。
sudo chown www-data:www-data /var/www/html/ -R
デフォルトでは、Apacheはシステムホスト名をグローバルServerName
として使用します 。 DNSでシステムのホスト名を解決できない場合は、sudo apache2ctl -t
を実行した後に次のエラーが表示される可能性があります。 コマンド。
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
この問題を解決するために、グローバルなServerName
を設定できます。 Apacheで。 Nanoコマンドラインテキストエディタを使用して、新しい構成ファイルを作成します。
sudo nano /etc/apache2/conf-available/servername.conf
このファイルに次の行を追加します。
ServerName localhost
ファイルを保存して閉じます。 Nanoテキストエディタでファイルを保存するには、Ctrl+O
を押します。 、Enterキーを押して確認します。終了するには、Ctrl+X
を押します 。次に、この構成ファイルを有効にします。
sudo a2enconf servername.conf
変更を有効にするには、Apacheをリロードします。
sudo systemctl reload apache2
ここで、sudo apache2ctl -t
を実行すると もう一度コマンドを実行すると、上記のエラーメッセージは表示されません。
ステップ3:MariaDBデータベースサーバーをDebian10にインストールする
MariaDBは、MySQLのドロップイン代替品です。次のコマンドを入力して、Debian10にインストールします。
sudo apt install mariadb-server mariadb-client
インストール後、MariaDBサーバーは自動的に開始されます。 systemctlを使用します ステータスを確認します。
systemctl status mariadb
出力:
● mariadb.service - MariaDB 10.3.15 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-07-11 13:57:03 UTC; 16s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 18566 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 545) Memory: 73.9M CGroup: /system.slice/mariadb.service └─18566 /usr/sbin/mysqld
実行されていない場合は、次のコマンドで開始します:
sudo systemctl start mariadb
起動時にMariaDBを自動的に起動できるようにするには、
を実行します。sudo systemctl enable mariadb
次に、インストール後のセキュリティスクリプトを実行します。
sudo mysql_secure_installation
MariaDBのrootパスワードの入力を求められたら、rootパスワードがまだ設定されていないため、Enterキーを押します。次に、 yと入力します MariaDBサーバーのルートパスワードを設定します。
次に、Enterキーを押すだけで、残りのすべての質問に答えることができます。これにより、匿名ユーザーが削除され、リモートルートログインが無効になり、テストデータベースが削除されます。このステップは、MariaDBデータベースセキュリティの基本的な要件です。 (文字Y
に注意してください 大文字で表示されます。これは、デフォルトの回答であることを意味します。)
デフォルトでは、DebianのMaraiDBパッケージはunix_socketを使用してユーザーログインを認証します。これは基本的に、OSのユーザー名とパスワードを使用してMariaDBコンソールにログインできることを意味します。したがって、次のコマンドを実行して、MariaDBのrootパスワードを指定せずにログインできます。
sudo mariadb -u root
または
sudo mysql -u root
終了するには、
を実行しますexit;
MariaDBサーバーのバージョン情報を確認してください。
mariadb --version
出力:
mariadb Ver 15.1 Distrib 10.3.15-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
ステップ4:Debian10にPHP7.3をインストールする
この記事の執筆時点では、PHP7.3はPHPの最新の安定バージョンであり、以前のバージョンに比べてパフォーマンスがわずかに向上しています。次のコマンドを入力して、Debian10リポジトリからPHP7.3をインストールします。
sudo apt install php7.3 libapache2-mod-php7.3 php7.3-mysql php-common php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-readline
Apache php7.3モジュールを有効にしてから、ApacheWebサーバーを再起動します。
sudo a2enmod php7.3 sudo systemctl restart apache2
PHPのバージョン情報を確認してください。
php --version
出力:
PHP 7.3.4-2 (cli) (built: Apr 13 2019 19:05:48) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.4-2, Copyright (c) 1999-2018, by Zend Technologies
ApacheサーバーでPHPスクリプトをテストするには、info.php
を作成する必要があります。 Nanoなどのコマンドラインテキストエディタを使用して、Webルートディレクトリにあるファイル。
sudo nano /var/www/html/info.php
次のPHPコードをファイルに貼り付けます。
<?php phpinfo(); ?>
ファイルを保存して閉じます。 (Nanoテキストエディタでファイルを保存するには、Ctrl+O
を押します。 、Enterキーを押して確認します。終了するには、Ctrl+X
を押します 。)
ブラウザのアドレスバーに、server-ip-address/info.php
と入力します。 。 sever-ip-address
を置き換えます 実際のIPで。ローカルコンピューターでこのチュートリアルに従う場合は、「127.0.0.1/info.php
」と入力します。 またはlocalhost/info.php
。
サーバーのPHP情報が表示されます。これは、PHPスクリプトがApacheWebサーバーで正しく実行できることを意味します。 ZendOPcacheが有効になっていることがわかります。
ApacheでPHP-FPMを実行する方法
ApacheWebサーバーでPHPコードを実行するには基本的に2つの方法があります。
- ApachePHPモジュール
- PHP-FPM。
上記の手順では、PHP7.3モジュールを使用してPHPコードを処理しますが、通常は問題ありません。ただし、場合によっては、代わりにPHP-FPMを使用してPHPコードを実行する必要があります。方法は次のとおりです。
ApachePHP7.3モジュールを無効にします。
sudo a2dismod php7.3
PHP-FPMをインストールします。
sudo apt install php7.3-fpm
proxy_fcgi
を有効にする およびsetenvif
モジュール。
sudo a2enmod proxy_fcgi setenvif
/etc/apache2/conf-available/php7.3-fpm.conf
を有効にします 構成ファイル。
sudo a2enconf php7.3-fpm
変更を有効にするには、Apacheを再起動します。
sudo systemctl restart apache2
ここで、info.php
を更新すると ブラウザのページで、サーバーAPIがFPM/FastCGI
に変更されていることがわかります。 、これは、ApacheWebサーバーがPHP-FPMでPHPコードを実行することを意味します。
次のステップ
おめでとうございます!これで、Apache、MariaDB、PHP7がDebian10Busterに正常にインストールされました。サーバーのセキュリティのために、詮索好きな目を防ぐために今すぐinfo.phpファイルを削除する必要があります。
sudo rm /var/www/html/info.php
このチュートリアルがDebian10BusterにLAMPスタックをインストールするのに役立つことを願っています 。次のチュートリアルをチェックして、WebベースのMariaDB/MySQL管理ツールであるphpMyAdminをインストールすることもできます
- Debian 10 BusterにApache(LAMP)を使用してphpMyAdminをインストールする
いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して新しいチュートリアルを入手してください。