[Arch Linux]多数のApache、Nginx、PHP、Percona DBの構成

UbuntuからArchに移行した後、このバンドルを設定する必要がありましたが、Ubuntuとは異なり、Archのようなオールインワンマニュアルはありませんでした。 Ubuntuで書かれたものを含むさまざまなマニュアルからアイデアを収集したので、Habrに不可欠なガイドを書くことにしました。

これは基本的なインストールであり、n個の仮想ホストがなく、ローカル開発のセットアップにすぎないことをすぐに言いたいと思います。

XAMPPは、単にイデオロギー上の理由で私には向いていません。

それでは始めましょう。



すでにyaourtがインストールされており、少なくとも少し使用できること、およびユーザーからのルートコマンドの実行を構成できることを前提としています( sudoパッケージを置いて、/ etc /ファイルの行「%wheel ALL =(ALL)ALL」のコメントを外します) sudoers and login; sudoを使用してコマンドを実行する場合、root'a)からではなく、ユーザーからパスワードを入力します。

また、直接インストールする前に、追加のリポジトリとコミュニティリポジトリが接続されていることを確認してください。
これを行うには:

sudo nano /etc/pacman.conf

そして、これらのリポジトリのセクションが似ていることを確認します。

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

そして、パッケージのリストを同期します。

sudo pacman -Sy



最初にApacheとPHPをインストールし、それに応じて構成を少し修正します。


sudo pacman -S apache php-apache
yaourt mod-rpaf

ここで、/ etc / httpd / conf / httpd.confを編集する必要があります。Apacheの2つのモジュール-rpafとphp5を有効にし、rpafの場合は構成などを詳細に追加します。

sudo nano /etc/httpd/conf/httpd.conf

  1. ポート80はnginxをリッスンするため、「Listen 80」を「Listen 81」に変更します。
  2. LoadModuleセクションに2行追加します。
    LoadModule rpaf_module modules/mod_rpaf-2.0.so
    LoadModule php5_module modules/libphp5.so
  3. 「ServerAdmin」行でメールを変更できますが、これはオプションの項目です。 私は通常、習慣を変えます。
  4. 少し下のコメント行「ServerName」です。コメントを外し、「ServerName 127.0.0.1:81」に置き換えます。
  5. 「TypesConfig conf / mime.types」行が「<IfModule mime_module>」セクションでコメント化されていないことを確認します
  6. 「MIMEMagicFile conf / magic」行のコメントも外します
  7. 「<IfModule dir_module>」セクションで、このフォームの「DirectoryIndex」パラメーターで行を置き換えます。
    DirectoryIndex index.php
  8. そして最後に、ファイルの最後に追加します。
    Include conf/extra/php5_module.conf
    RPAFenable On
    RPAFproxy_ips 127.0.0.1 10.0.0.1
    RPAFsethostname On
    RPAFheader X-Forwarded-For


ファイルを保存し(Ctrl + O)、終了します(Ctrl + X)。

次に、2番目のApache構成ファイルを少し変更するだけです。

sudo nano /etc/httpd/conf/ports.conf

「Listen 80」を「Listen 81」に変更します。

Apacheのセットアップはこれで完了です。 PHPに渡します。


sudo nano /etc/php/php.ini

  1. 「post_max_size」を設定します。 通常、60Mで十分ですが、それほど多くはありません-状況を見てください。 同様に、「upload_max_filesize」および「max_file_uploads」を構成します。
  2. モジュールが含まれています。 単一の解決策はありませんが、ほとんどのニーズに対する私のオプションで十分なはずです( http://pastebin.com/cZwepL0T )。 リストにない追加モジュールが必要な場合は、最初にyaourtを調べます。
  3. 「date.timezone」( http://php.net/date.timezone )のコメントを外して構成することをお勧めします。
  4. 行「session.save_path = "/ tmp"」のコメントを解除します。


ファイルを保存し(Ctrl + O)、終了します(Ctrl + X)。

Apacheを再起動します。
sudo rc.d restart httpd

次に、確認するために、index.phpファイルを作成します。 (ここでは、ユーザーからではなく、ルートからパスワードを入力します。)

su -c "echo '<?php phpinfo(); ?>' > /srv/http/index.php"

その後、アドレスhttp:// localhost:81 /にアクセスすると、PHPとApacheに関する完全な情報が記載されたページが表示されます。 そのようなもの。



NGINXのインストールと構成に進みます


最新の(開発ブランチ)バージョンをインストールします。 安定したものが必要な場合は、以下のコマンドの代わりに「sudo pacman -S nginx」と書くだけです。

yaourt nginx-devel

そして、設定のビューを次のビューに持っていきましょう。

sudo nano /etc/nginx/conf/nginx.conf

すべてを消去し、ここからすべてをコピーします-http://pastebin.com/2S8KnqkH

そして、nginxを再起動します。

sudo rc.d restart nginx

これで、ポート80に移動でき、以前のようにphpに関する情報も表示されるはずです( http:// localhost )。

そして最後のステップはPerconaDBのインストールです


ご存知のように、MySQL自体は最速のデータベースにはほど遠いので、通常forkをインストールします-PerconaDB。 公式ウェブサイトで機能の詳細を読むことができますが、私以外はMySQLとの下位互換性が完全であると言えるので、予期しない問題はありません。

sudo pacman -S percona-server

そして、PerconaDB管理ユーザーのパスワードを設定します。

mysql_secure_installation

これにより、ローカルWebサーバーの設定がかなり速くなりました。 このトピックが誰かに役立つことを願っています。



材料を改善するための提案がある場合はps-コメントに書いてください。
ppsでは、nginx構成の「gzip_types」セクションが完全に最適化されていないように感じることはありません。そのため、提案も聞きます。

スタートアップ時にスタートアップサービスについて書くのを忘れた


sudo nano /etc/rc.conf

そして、ファイルの一番下で、配列「DAEMONS」に追加します。

@nginx @httpd @mysqld

Source: https://habr.com/ru/post/J140537/


All Articles