GNU/Linux >> Linux の 問題 >  >> Debian

Debian10バスターサーバー/デスクトップにLAMPスタックをインストールする方法

このチュートリアルでは、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をインストールする

いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して新しいチュートリアルを入手してください。


Debian
  1. Debian10BusterでLAMPサーバーをセットアップする方法

  2. Debian 11にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  3. MySQLサーバーをDebian10Busterにインストールする方法

  1. Debian11にLAMPスタックをインストールする

  2. Debian9にLAMPサーバーをインストールする方法

  3. Debian10にLAMPスタックをインストールする方法

  1. Debian 11にApache、MariaDB、PHP(LAMPスタック)をインストールする方法

  2. Debian11にLAMPサーバーをインストールする方法

  3. SyncthingをDebianデスクトップ/サーバーにインストールする方法