LAMP の概要

ランプ

学習目標

  • php5_module モジュールに基づいて LAMP 環境を構成する
  • php-fpm および proxy_fcgi_module モジュールに基づいて LAMP 環境を構成する
  • SCL リポジトリから PHP 7.0 をインストールする
  • LAMP アプリケーションのインストールと構成
  • 仮想ホストのアクセスログ分析統計を実現するためのAWStatsの構成

タスク 1: LAMP 環境のインストールと構成 (1)

必要とする

CentOS7公式ウェアハウスとEPELウェアハウスをベースにしたLAMP環境の構成

  • Aache2.4 + mpm_prefork_module + php5.4 + php5_module
  • マリアDB5.5

ステップ

  1. MariaDB/MySQL サービスのインストールと構成
  • mariadb と mariadb-server をインストールする
  • MariaDB を構成する
    • セクションで設定した メイン構成ファイルを編集し/etc/my.cnfます[mysqld]
      • 文字セットサーバー=utf8
      • 照合サーバー=utf8_general_ci
      • max_connections = 50 (デフォルトの最大同時接続数は 100)
    • セクションで設定した メイン構成ファイルを編集し/etc/my.cnf.d/client.cnfます[client]
      • 文字セットサーバー=utf8
  • MariaDB サービスを開始し、起動時に開始するように設定します。
  • MariaDB サービスの root ユーザー パスワードを構成する
    • mysqladmin -u root password 'Med7ahBuu7ru2Wooyohg'
    • またはmysql_secure_installation
  • EPEL リポジトリからインストールし、さらに多くの構成提案を取得します
  1. PHPのインストールと設定
  • PHP と関連モジュールをインストールします
    yum install php
    php-{pdo,mcrypt,mbstring,intl,gd,pecl-{imagick,memcached,redis}
  • インストールされている PHP (cli) バージョンの検出
    php -v
  • PHPの設定
    • セクションで設定した メイン構成ファイルを編集し/etc/php.iniます[PHP]
      • zlib ライブラリを使用して出力を圧縮し、圧縮レベルを 1 に設定します。
      • PHP スクリプトが消費できるメモリの最大量を 256M に制限する
      • POST メソッドの最大許容サイズ 256M を指定します。
      • アップロードできる最大ファイルサイズを20Mに設定します
    • セクションで設定した メイン構成ファイルを編集し/etc/php.iniます[Date]
      • 日付関数のデフォルトのタイムゾーンを次のように定義します。Asia/Shanghai
  1. Aapche の PHP モジュールを介して PHP スクリプトを実行する
  • Apache の PHP モジュールの読み込み/設定ファイルを参照してください。
    grep -v “^#” /etc/httpd/conf.modules.d/10-php.conf
    grep -v “^#” /etc/httpd/conf.d/php.conf
  • Apache 設定が正しいことを確認し、Apache 設定をリロードします
  1. テスト
  • PHP テスト スクリプトを作成します
    echo '<?php phpinfo()?>' > /var/www/html/info.php
    echo '<?php phpinfo()?>' > /srv/www/olabs.net/www/htdocs /info.php
  • クライアントでの elink のテスト
    http://www.olabs.lan/info.php
    elink http://www.olabs.net/info.php
  • ストレス テスト
    ab -n 2000 -c 100 http://www.olabs.net/info.php
  1. lynis -cシステム全体をスキャンし、レポートのプロンプトに従ってシステムを強化するために使用します。

タスク 2: LAMP アプリケーションのインストールと構成 (1)

必要とする

インストール構成

  • phpMyAdmin
  • ドクウィキ ( .htaccess)
  • h5ai

ステップ

  1. phpMyAdminをインストールして設定する
  • phpMyAdminをインストールする
  • phpMyAdminを構成する
    • phpMyAdminの設定ファイルを変更する/etc/phpMyAdmin/config.inc.php
      • Cookie認証用の暗号化パスワードをリセットする
    • Apache設定ファイルを変更する/etc/httpd/conf.d/phpMyAdmin.conf
      • 192.168.56.0/24 アクセスを許可するように設定します
  • Apache 構成が正しいことを確認し、Apache サービスの構成をリロードします
  • phpMyAdminをテストする
    • https://www.olabs.lan/phpmyadmin/
    • https://www.olabs.net/phpmyadmin/
  1. dokuwiki のインストールと設定
  • dokuwiki サイトのコンテンツをダウンロードして展開する
mkdir /srv/www/olabs.net/wiki/src
cd /srv/www/olabs.net/wiki/src
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar xzf dokuwiki-stable.tgz
cd ..
rm -rf htdocs
mv src/dokuwiki-2017-02-19e htdocs
  • ブラウザでインストールスクリプトを実行してインストールします。
    • http://wiki.olabs.net/install.php
    • プロンプト情報に従ってファイル システムのアクセス許可を合理的に設定します。
    • インストール後に install.php ファイルを削除します。
  • ウィキページを編集する
  • 擬似静的アクセスを構成する
    • 編集して/etc/httpd/vhosts.d/olabs.net.conf、wiki.olabs.net:443 の仮想ホストを変更します。
      • /srv/www/olabs.net/wiki/htdocs/構成により、ディレクトリ内の構成ファイルの読み取りが可能になります.htaccess
    • 編集/srv/www/olabs.net/wiki/htdocs/conf/local.php擬似静的アクセスを有効にする
      • echo "\$conf['userewrite'] = 1;" >> /srv/www/olabs.net/wiki/htdocs/conf/local.php
    • 改訂
      • デフォルトで公開されている .htaccess.dist を .htaccess にコピーします。
        • cp /srv/www/olabs.net/wiki/htdocs/.htaccess{.dist,}
      • /srv/www/olabs.net/wiki/htdocs/.htaccessこのサイトに合わせて編集してください
    • 擬似静的アクセスをテストする
      • http://wiki.olabs.net/wiki/syntax
  1. h5aiのインストールと設定
  • ディレクトリの/srv/www/olabs.org/www/htdocs/downloadインストール構成h5ai
  • http://www.olabs.org/download にアクセスしたときに https://release.larsjung.de/ のように見えるようにします

タスク 3: LAMP 環境のインストールと構成 (2)

必要とする

CentOS7公式ウェアハウスとEPELウェアハウスをベースにしたLAMP環境の構成

  • Aache2.4 + mpm_envent_module + php5.4 + php-fpm + proxy_fcgi_module
  • マリアDB5.5

ステップ

  1. インストールして起動するphp-fpm
  • Apacheモジュールのphpパッケージを削除する
  • インストールphp-fpm
  • php-fpmデーモンをブート/即時に開始します
  1. 表示して構成するphp-fpm
  • php-fpmバージョンを表示
    php-fpm -v
  • php-fpmプロセスを表示
    ps -HO user -pl pidof php-fpm
    lsof -i :9000
  • php-fpmのメイン設定ファイルを表示します。/etc/php-fpm.conf
  • php-fpmプロセスプール構成ファイルを表示する/etc/php-fpm.d/www.conf
  1. Apacheの構成
  • proxy_fcgi_module経由でアクセスするようにApache を構成するphp-fpm
    • 作成または編集/etc/httpd/conf.d/php.conf:
      # php がマルチビューを処理できるようにする
      AddType text/html .php

       # Add index.php to the list of files 
       # that will be served as directory indexes.
       DirectoryIndex index.php
       
       # Enable the http authorization headers.
       SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
       
       # Redirect the PHP scripts execution to the FPM backend.
       <FilesMatch \.php$>
           SetHandler "proxy:fcgi://127.0.0.1:9000"
       </FilesMatch>
       
       # Prevent .user.ini files from being viewed by Web clients.
       <Files ".user.ini">
           Require all denied
       </Files>
      
  • Apache を構成してmpm_envent_moduleを有効にする
    • 编辑/etc/httpd/conf.modules.d/10-php.conf
      # LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
      # LoadModule mpm_worker_module modules/mod_mpm_worker.so
      LoadModule mpm_event_module modules/mod_mpm_event.so
  • Apache 構成が正しいことを確認し、Apache サービスの構成をリロードします
  1. Apache が有効になっているかどうかをFPM/FastCGI
    elinks --dump http://localhost/info.php |grep 'Server API'
    elinks --dump http://www.olabs.lan/info.php |grep 'Server API'
    elinks でテストします。 - http://www.olabs.net/info.php をダンプ |grep 'サーバー API'
  2. ストレス テスト
    ab -n 2000 -c 100 http://www.olabs.net/info.php

タスク 4: LAMP 環境のインストールと構成 (3)

必要とする

SCL ウェアハウスに基づいて LAMP 環境を構成する

  • Aache2.4 + mpm_envent_module + php70 + php-fpm + proxy_fcgi_module
  • マリアDB5.5

ステップ

  1. SCL リポジトリのインストールと構成
    yum -y install centos-release-scl scl-utils
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo yum
    repolist |grep sclo
    yum makecache
  2. php70 と関連モジュールをインストールします
    yum -y install rh-php70
    rh-php70-php-{pdo,mcrypt,mbstring,intl,gd,pecl-{imagick,memcached,redis},fpm} scl
    -l
  3. php-fpm を新しいバージョンに切り替えます
    systemctl stop php-fpm
    systemctl disable php-fpm
    systemctl start rh-php70-php-fpm
    systemctl Enable rh-php70-php-fpm
  4. リンク
    --dump http://localhost/info.php |egrep 'サーバー API|PHP バージョン'

コマンドラインで SCL リポジトリを使用して PHP を切り替える

  • 元々インストールされていた PHP のバージョンを検出します
    where php ; php -v
    which php-fpm ; php-fpm -v
  • SCL リポジトリから PHP を使用するように新しいシェルを切り替えます:
    scl -l
    scl enable rh-php70 bash
  • 新しくインストールされた PHP バージョンを検出します
    where php ; php -v
    which php-fpm ; php-fpm -v
  • 新しいシェルを終了し、PHP バージョンを再度確認します
    exit
    which php ; php -v
    which php-fpm ; php-fpm -v

コマンドラインでデフォルトで SCL リポジトリを使用する PHP

cat >/etc/profile.d/rh-php70.sh <<_END
#!/bin/bash

source /opt/rh/rh-php70/enable
export X_SCLS="\$(scl enable rh-php70 'echo \$X_SCLS')"
_END

SCL リポジトリ用の PHP/PHP-FPM の構成

  • 設定ファイルは/etc/opt/rh/rh-php70/ディレクトリに基づいています
  • php設定ファイル: php.iniphp.d/*.ini
  • php-fpm 設定ファイル: php-fpm.confphp-fpm.d/*.conf

練習する

  • SCL リポジトリ
    yum search rh-mariadb102から Mariadb v10.2 をインストールして有効化します。

タスク 5: AWStats を使用してアクセス ログ分析統計を実装する

必要とする

www.olabs.{net,org} 仮想ホストの AWStats を構成して、アクセス ログの分析と統計を実現する

ステップ

  1. awstatsをインストールする
  2. awstats を構成して仮想ホストごとに個別の構成ファイルを作成する
  • /etc/awstats/awstats.www.olabs.net.conf
  • /etc/awstats/awstats.www.olabs.org.conf
  1. 指定されたプロファイルの AWStats 統計データベースをただちに更新します
  • /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=www.olabs.net
  • /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=www.olabs.org
  1. AWStats WUI を表示するための CGI アクセス用に Apache を構成する
  • メインの Apache 構成ファイルを編集して、/etc/httpd/conf.d/awstats.conf
  • HTTP ダイジェスト認証構成を適切な場所に追加すると、第 14 章のタスク 4 で作成したダイジェスト認証パスワード ファイルを使用できます。/etc/httpd/.dpasswd
  1. Apache 設定が正しいことを確認し、Apache 設定をリロードします
  2. ブラウザ経由で AWStats にアクセスし、ダイジェスト認証をテストする
    • http://www.olabs.net/awstats/awstats.pl
    • http://www.olabs.net/awstats/awstats.pl?config=www.olabs.net
    • http://www.olabs.net/awstats/awstats.pl?config=www.olabs.org

タスク 6*: LAMP アプリケーションのインストールと構成 (2)

必要とする

  • http://blog.olabs.org インストール用に Laravel フレームワークベースのアプリケーションを構成する

ステップ

  1. Composer のインストールと設定
  • コンポーザーをインストールする

     # curl -sS https://getcomposer.org/installer | php
    
     # mv composer.phar /usr/local/bin/composer
    
  • Composer によってグローバルに使用されるミラー サイトを構成する

     # composer config -g repo.packagist composer \
    
          https://packagist.phpcomposer.com
     # tree -F -L 2 ~olabsorg
    
  1. laravel
    # su - olabsorgをインストールします

    $ scl enable rh-php70 bash
    $ composer create-project  laravel/laravel blog --prefer-dist "5.5.*"
    
  2. blog.olabs.org 仮想ホストの構成とテスト

  • 改訂/etc/httpd/vhosts.d/olabs.org.conf
<VirtualHost *:80>
    ServerAdmin root@localhost
    ServerName blog.olabs.org:80
    DocumentRoot /srv/www/olabs.org/blog/public/
    ErrorLog  /srv/www/olabs.org/blog/logs/error_log
    CustomLog /srv/www/olabs.org/blog/logs/access_log combined
    <Directory /srv/www/olabs.org/blog/public/>
        Options +FollowSymLinks
        Require all granted

        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </Directory>
</VirtualHost>
  • Apache 構成が正しいことを確認し、Apache サービスの構成をリロードします
  • blog.olabs.org のドメイン名解決を構成する (bind または /etc/hosts)
  • http://blog.olabs.org をテストする
  1. Laravel に基づくバックグラウンド生成ツールであるVoyagerをインストールして設定する
  • Composer を使用して、Voyager に必要な PHP パッケージをインストールします
  • BLOGに必要なmysqlデータベースを作成する
  • 設定プロジェクト下の環境ファイル.env
  • アルティザンを使用して voyager のインストールを実行し、テスト データを入力します
  • 管理者のパスワードとメールアドレスをリセットします
  • ブラウザで BLOG のバックグラウンド管理インターフェイスにアクセスします http://blog.olabs.org/admin
  1. Voyager の背景に基づいてコードを記述し、BLOG フロントエンド http://blog.olabs.org を作成します。

** 練習する**

タスク 7*: Memcached と Redis

必要とする

  • Memcached のインストール、構成、起動
  • Redis のインストール、構成、起動

タスク 8*: mylvmbackup を使用して MySQL データベースの物理バックアップを実装する

必要とする

  • EPEL リポジトリから mylvmbackup をインストールします。
  • mylvmbackup を構成する
    • /etc/mylvmbackup.conf
  • cron タスクを毎日 1 時に実行するようにスケジュールする
    • /etc/cron.d/mylvmbackup

タスク 9*: CentOS 6 および Debian 9 の LAMP 環境構成

必要とする

  • c6-v1 コンテナでApache2.4+php7.0+php-fpm+mpm_envent_moduleを構成する
  • d9-v1 コンテナでApache2.4+php7.0+php-fpm+mpm_envent_moduleを構成する

トムキャットとアパッチ

学習目標

  • OpenJDK または Java SE Development Kit (Oracle) のインストールと構成
  • 独立して実行される Tomcat をインストールして構成する
  • Tomcat の 2 番目のインスタンスを構成する
  • Apache リバース プロキシ Tomcat を構成する
  • Apache リバース プロキシ ユーザーミンを構成する

タスク 1: OpenJDK と Tomcat をインストールする

必要とする

  • java-1.8.0-openjdk と Tomcat をインストールする
  • Tomcat を独立して実行するように構成する
  • Tomcat を独立して実行するテスト
  • Tomcat のデフォルトの Web アプリケーション、管理アプリケーション、およびドキュメントをインストールする
  • Tomcat の管理アプリケーションを構成する
    • ユーザー fanny はマネージャー インターフェイスのみにアクセスできます
    • ユーザー tonny はマネージャーと管理インターフェースの両方にアクセスできます
  • 別のユーザーを使用して管理インターフェイスへのアクセスをテストする

タスク 2: Tomcat の 2 番目のインスタンスを構成する

必要とする

  • systemd で管理できる 2 番目の Tomcat インスタンスを構成する

タスク 3: Apache リバース プロキシ

必要とする

  • Apache リバース プロキシ Tomcat のデフォルト インスタンスを構成する
    • /docs への URI アクセスにリバース プロキシを使用しない
    • AJP プロトコルを使用して、Tomcat のデフォルト インスタンスをリバース プロキシします。
  • Apache リバース プロキシ Tomcat の 2 番目のインスタンスを構成する
  • Apache リバース プロキシの usermin を構成する (https://localhost:20000)

おすすめ

転載: blog.csdn.net/wang11876/article/details/131907680