GNU/Linux >> Linux の 問題 >  >> Ubuntu

Apache 2をインストールしてセットアップする方法は?

Apache2、php、mysqlをインストールし、仮想ホスト、できればSSL証明書を暗号化してからWordPressのインストールに進むにはどうすればよいですか?

承認された回答:

Ubuntuがインストールされていると思います。これは16.04を念頭に置いて書かれていますが、他のバージョンでもいくつかの適応で機能するはずです。

この回答では、# ルートシェルを示し、$ 通常のユーザーシェルを示します。

example.orgは、この回答の例(D’oh)として使用されており、インストールに合わせて変更する必要があります。

Apache2、PHP、MariaDBなどのインストール

$ sudo apt install apache2 libapache2-mod-php mariadb-server php-mysql

これにより、mysqlにアクセスするためのPHPバインディングに加えて、Apache2、PHP、MariaDB、およびいくつかの依存関係がインストールされます。

この段階で、http://example.orgにアクセスして、デフォルトのページを表示できるはずです。

vhostの設定

Vhostsは仮想ホストであり、ドメイン名ごとに異なるコンテンツを提供するために使用されます。

/etc/apache2/sites-available/01-example.org.confという名前の新しいファイルの編集を開始します お気に入りのエディターで:

$ sudo editor /etc/apache2/sites-available/01-example.org.conf 

次の構成を入力します:

<VirtualHost *:80>
        ServerName example.org
        ServerAlias www.example.org
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/example.org/
        ErrorLog ${APACHE_LOG_DIR}/example.org.error.log
        CustomLog ${APACHE_LOG_DIR}/example.org.access.log combined
</VirtualHost>

まず、プライマリServerNameを定義します。これは、サイトへのアクセスに使用されるドメインです。 vhostごとに定義できるのは1つだけです。さらに、誰かがブラウザにwww.example.orgと入力した場合に備えて、ServerAliasを定義します。これにより、Apacheが両方の名前に確実に応答します。どちらの名前も、DNSまたは/etc/hostsのいずれかでサーバーを指している必要があります ローカルテスト用。

サーバーエイリアスはいくつでも指定でき、ServerNameの一部を含める必要はありません。したがって、ServerAlias example.com 有効です。

新しいDocumentRootを作成します

新しいdocumentrootを/var/www/html/example.orgに配置しました 。これは、UbuntuでApacheが提供できる場所です。たとえば、/srv/に配置した場合 、そのためのディレクトリスタンザを含める必要があります。今のところ、Webルートを作成し、コンテンツを入力して、新しい構成をアクティブにします。

$ sudo mkdir /var/www/html/example.org
$ echo "This is a test" | sudo tee /var/www/html/example.org/index.html
$ sudo a2ensite 01-example.org.conf
$ sudo service apache2 reload

ここでhttp://example.orgにアクセスすると、出力が表示されます。*これはテストです。おめでとう!最初のvhostが実行されています!

letsencryptをインストールして証明書を取得する

Let’s Encryptから証明書を受け取るには、クライアントが必要です。 16.04に含まれているletsencryptパッケージは古いので、これにはppaが必要です。

$ echo "deb http://ppa.launchpad.net/certbot/certbot/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/01-certbot.list
$ sudo add-apt-key -k keyserver.ubuntu.com 8C47BE8E75BCA694
$ sudo apt update && sudo apt install certbot python3-certbot-apache 

ルートとしてcertbotを実行します:

$ sudo certbot

証明書を取得するドメインを選択し、certbotによる画面の指示に従います。リダイレクトするかどうかを尋ねられたら、httpsのみが必要な場合はリダイレクトを選択し、httpとhttpsの両方が必要な場合はリダイレクトなしを選択します。今日、リダイレクトしない理由はほとんどありません。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

もう一度http://example.comにアクセスしてみてください。安全であることを示すために変更されるはずです。

関連:Ubuntuで起動速度を向上させる方法は?

おめでとうございます。トラフィックが暗号化されていることを保証する有効なTLS証明書を使用してapache2を設定していません!

WordPressのインストール

次のステップは、いくつかのアプリケーションをインストールすることです。インストールする例としてWordPressを選びました。

まず、sudo -iと入力してrootになります 。次に、ディレクトリをWebルートに変更し、ダウンロード、解凍して、Apacheのユーザーの所有権を変更します。

$ sudo -i
# cd /var/www/html/example.org/
# wget https://wordpress.org/latest.tar.gz
# tar -zxf latest.tar.gz && rm latest.tar.gz
# chown -R www-data.www-data wordpress/

これで、https://example.com/wordpress/にWordPressインスタンスが作成されます。そこに行きましょう。

ウィザードは、MySQLテーブル、ユーザー、およびパスワードが必要であることを通知します。作ってみよう!

デフォルトでは、UbuntuはMariaDBにUNIXソケット認証を使用します。したがって、rootとしてMariaDBにログインするには、

を使用する必要があります。
sudo mysql -u root

または、ルートシェルでコマンドを実行します(たとえば、sudo -i )。これにより、パスワードを入力せずにログインできます

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 32
Server version: 10.0.33-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wordpress_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `wordpress_db`.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'passw0rd';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit

ユーザー名wordpress_userを入力します 、databasename wordpress_db およびパスワードpassw0rd WordPressの構成で。基本的にはそれだけです。残りは、WordPressのインストールガイドラインに従うことです。

さらにvhostを追加するには、「vhostの設定」から始めます。

さらに読む

  • Apacheモジュール–無効化と有効化
  • cronからcertbotを実行して証明書を自動更新する
  • 一般的に使用されるApacheモジュールであるmod_rewriteのガイド
  • /var/www/htmlのファイル権限
  • Certbotユーザーガイド

Ubuntu
  1. Ubuntu18.04および16.04にApacheMavenをインストールする方法

  2. Ubuntu20.04にmysql8をインストールしてセットアップする方法

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

  1. ApacheでModSecurityを設定および構成する方法

  2. CentOS8にApacheをインストールする方法

  3. Ubuntu18.04にApacheをインストールする方法

  1. Ubuntu20.04にApacheをインストールする方法

  2. Ubuntu18.04でApacheを使用してNextcloudをインストールおよび構成する方法

  3. CentOS7にApacheをインストールする方法