Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第1回 一撃サーバー構築シェルスクリプト勉強会

2014/09/06 実施の第1回 一撃サーバー構築シェルスクリプト勉強会 発表資料です。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

第1回 一撃サーバー構築シェルスクリプト勉強会

  1. 1. 第1回 一撃サーバー構築シェルスクリプト勉強会 USP友の会 @nullpopopo
  2. 2. 第1回 一撃サーバー構築シェルスクリプト勉強会 [自己紹介] 名前: 濱田康貴 ( @nullpopopo ) USP友の会 http://www.usptomo.com/ Blog http://nullpopopo.blogcube.info/ Facebook https://www.facebook.com/nullpopopo 著書: USP Magazine 教えて先輩♡サーバー運用お助けTIPS 隔月連載中
  3. 3. 第1回 一撃サーバー構築シェルスクリプト勉強会 ちょっとお知らせ
  4. 4. 第1回 一撃サーバー構築シェルスクリプト勉強会 今日は危険じゃありません
  5. 5. 第1回 一撃サーバー構築シェルスクリプト勉強会 最初に宣伝
  6. 6. 第1回 一撃サーバー構築シェルスクリプト勉強会 第13回危険でない方のシェル芸勉強会&第31回安 全だと声高に叫ぶと逆にどうなのかUSP友の会定 例会 http://usptomo.doorkeeper.jp/events/15021
  7. 7. 第1回 一撃サーバー構築シェルスクリプト勉強会 USP友の会で シェル芸以外の勉強会は 2012/06/24 以来。 ※ ちなみにシェル芸勉強会は 2012/10/27より開始
  8. 8. 第1回 一撃サーバー構築シェルスクリプト勉強会
  9. 9. 第1回 一撃サーバー構築シェルスクリプト勉強会 本当に地獄でした。。。 (;´Д`)
  10. 10. 第1回 一撃サーバー構築シェルスクリプト勉強会 その前は?
  11. 11. 第1回 一撃サーバー構築シェルスクリプト勉強会 2012/3/31 Apacheスタートスクリプト読書会 2012/2/19 やわらかマッドサイエンティスツの プログラミング入門
  12. 12. 第1回 一撃サーバー構築シェルスクリプト勉強会 ( ´-`)。oO( 喋り方忘れた・・・ )
  13. 13. 第1回 一撃サーバー構築シェルスクリプト勉強会 本日のおしながき ●席替え、全体説明 ●変数設定、アップデート ● fail2ban、iptables設定 ●パッケージインストール ●MySQL設定 ● PHP設定 ●WordPress インストール ● nginx設定 ●再起動 ● LTタイム
  14. 14. 第1回 一撃サーバー構築シェルスクリプト勉強会 席替え
  15. 15. 第1回 一撃サーバー構築シェルスクリプト勉強会 3名1組でチームを作ります。 受付で番号のついた付箋紙を受け取られた方は、 その番号の指定席へ移動願います。 座席に付箋紙を持った方がいない場合は、無地の 付箋紙を受け取られた方と座席交換してくださ い。
  16. 16. 第1回 一撃サーバー構築シェルスクリプト勉強会 全体説明
  17. 17. 第1回 一撃サーバー構築シェルスクリプト勉強会 一撃サーバー構築シェルスクリプト (一撃スクリ プト) 勉強会が目指すもの
  18. 18. 第1回 一撃サーバー構築シェルスクリプト勉強会 ●一度の実行でサーバー構築の全工程を終わらせ るスクリプトを作成できるようになる ●管理のための環境構築が不要で、さくらのクラ ウド スタートアップスクリプトと親和性が高い ことを体験する
  19. 19. 第1回 一撃サーバー構築シェルスクリプト勉強会 スタートアップスクリプト とは
  20. 20. 第1回 一撃サーバー構築シェルスクリプト勉強会 サーバ作成時にアプリケーションのインストールやサーバ設定を 自動的に行う「スタートアップスクリプト」 サーバを作成する際に、任意のシェルスクリプトを記述した「ス タートアップスクリプト」を選択することにより、 起動時にそれ らを自動的に実行できます。この機能によりあらかじめ必要なア プリケーションをインストールや、 サーバ設定の自動化も行えま す。 ※スタートアップスクリプト機能は現在、CentOS、ScientificLinux環境のみで動作します。 ※ http://cloud.sakura.ad.jp/feature.php より引用
  21. 21. 第1回 一撃サーバー構築シェルスクリプト勉強会 スタートアップスクリプト内で使用できる 特殊タグ
  22. 22. 第1回 一撃サーバー構築シェルスクリプト勉強会 @sacloud-once シェルスクリプト中のコメントに以下のように記述すると、OS起 動時に1回だけ(OSインストール後初回起動時のみ)実行されます。 記述例 # @sacloud-once これにより、yumコマンドによるアップデートやrebootコマンドに よる再起動(kernelやglibcアップデート後の反映)をスタートアップ スクリプト内にて行うことができます。 ※ @sacloud-once の記述を忘れてrebootコマンドをスタートアップスクリプトで実行すると、起動 →再起動→再起動→(以下エンドレス)という地獄を味わってしまいます。。。
  23. 23. 第1回 一撃サーバー構築シェルスクリプト勉強会 @sacloud-desc 以下のように、1行コメントをつけることができます。 # @sacloud-desc これはコメントです @sacloud-desc-begin / @sacloud-desc-end 以下のように、複数行のコメントをつけることができます。 # @sacloud-desc-begin # このように # 複数行のコメントをつけることができます。 # @sacloud-desc-end
  24. 24. 第1回 一撃サーバー構築シェルスクリプト勉強会 コーディングルール
  25. 25. 第1回 一撃サーバー構築シェルスクリプト勉強会 [コーディングルール(非機能要件)] ● rootユーザーでOSインストール直後に1回のみ実 行されるものとする ●外部シェルスクリプトの作成、呼び出しは原則 不可。ただし、一撃スクリプト内で生成して別 ファイルに出力し、一撃スクリプトから呼び出 すことができれば可能。 ●対話式コマンドはできるだけ避ける
  26. 26. 第1回 一撃サーバー構築シェルスクリプト勉強会 その他 ●そもそも一撃ですべてを終わらせるのと、OSイ ンストール直後の環境は原則として同一なた め、ifの条件分岐などはあまり考慮しなくてよい です ●同様に、再実行を考慮したスクリプト設計は不 要です
  27. 27. 第1回 一撃サーバー構築シェルスクリプト勉強会 機能要件 ● http://IPアドレス/ でWordPressのインストール 画面が表示されること ●WordPressインストール後、パーマリンク設定 を変更しても表示に問題がないこと
  28. 28. 第1回 一撃サーバー構築シェルスクリプト勉強会 非機能要件 ●WEBサーバは nginx + PHP-FPMとし、nginx は mainline からインストールする ● PHPは5.5または5.6をインストールする (php-cli php-common php-mbstring php-pdo php-xml php-mysqlnd php-pecl-apcu php-xmlrpc php-opcache php-fpm)
  29. 29. 第1回 一撃サーバー構築シェルスクリプト勉強会 非機能要件 ●MySQL Serverは標準リポジトリからインストー ルする ●MySQLのrootパスワード、WordPress接続用 ユーザのパスワードは自動生成する ●mysql_secure_installation と同等の処理を行う
  30. 30. 第1回 一撃サーバー構築シェルスクリプト勉強会 変数設定 アップデート
  31. 31. 第1回 一撃サーバー構築シェルスクリプト勉強会 #!/bin/bash # @sacloud-once DBNAME=wordpress DBUSER=wpuser ETH0=$(ip a show eth0 | grep inet | grep -v inet6 | awk '{print $2}' | sed -e "s//[0-9]*//") HOME=/root export HOME USER=root export USER ################################################################################ # Section1 yum update yum -y update ################################################################################
  32. 32. 第1回 一撃サーバー構築シェルスクリプト勉強会 fail2ban、iptables設定
  33. 33. 第1回 一撃サーバー構築シェルスクリプト勉強会 fail2ban設定内容 メール宛先と送信元のドメインが example.com なので、これを localhost に変更する
  34. 34. 第1回 一撃サーバー構築シェルスクリプト勉強会 iptables設定内容 ● 受信パケットは一旦破棄する ● 送信パケットはすべて許可する ● パケット転送は許可しない ● localhostからのアクセスをすべて許可する ● 内部から行ったアクセスに対する外部からの返答アクセスを許可 する ● 外部からのTCP22番ポート(SSH)へのアクセスを許可する ● 外部からのTCP80番ポート(HTTP)へのアクセスを許可する
  35. 35. 第1回 一撃サーバー構築シェルスクリプト勉強会 パッケージインストール
  36. 36. 第1回 一撃サーバー構築シェルスクリプト勉強会 [nginx] ●リポジトリ取得 ●mainlineからインストールするよう nginx.repo を変更する ● nginxインストール
  37. 37. 第1回 一撃サーバー構築シェルスクリプト勉強会 nginxのバージョンは3種類 http://nginx.org/en/download.html
  38. 38. 第1回 一撃サーバー構築シェルスクリプト勉強会 [PHP] ● remi-release-6リポジトリ取得 ● php-cli php-common php-mbstring php-pdo php-xml php-mysqlnd php-pecl-apcu php-xmlrpc php-opcache php-fpm インストール
  39. 39. 第1回 一撃サーバー構築シェルスクリプト勉強会 PHPの歩み http://www.slideshare.net/hirokawa/php-con2013ub より
  40. 40. 第1回 一撃サーバー構築シェルスクリプト勉強会 http://sourceforge.jp/magazine/14/08/30/084800
  41. 41. 第1回 一撃サーバー構築シェルスクリプト勉強会 [MySQL] ●標準リポジトリより mysql-server をインストー ル
  42. 42. 第1回 一撃サーバー構築シェルスクリプト勉強会 Let's Coding
  43. 43. 第1回 一撃サーバー構築シェルスクリプト勉強会 回答
  44. 44. 第1回 一撃サーバー構築シェルスクリプト勉強会 fail2ban のメール宛先と送信元を変更する ● cp -p /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.orig ● sed -i 's/you@example.com/root@localhost/g;s/fail2ban@example.com /fail2ban@localhost/g' /etc/fail2ban/jail.conf
  45. 45. 第1回 一撃サーバー構築シェルスクリプト勉強会 iptables設定 # 初期化のため一旦iptablesを停止する service iptables stop # 受信はすべて破棄する iptables -P INPUT DROP # 送信はすべて許可する iptables -P OUTPUT ACCEPT # パケット転送はすべて破棄する iptables -P FORWARD DROP
  46. 46. 第1回 一撃サーバー構築シェルスクリプト勉強会 iptables設定 # localhostからのアクセスをすべて許可 iptables -A INPUT -i lo -j ACCEPT # 内部から行ったアクセスに対する外部からの返答アクセスを許 可iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 外部からのTCP22番ポート(SSH)へのアクセスを許可 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 外部からのTCP80番ポート(HTTP)へのアクセスを許可 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  47. 47. 第1回 一撃サーバー構築シェルスクリプト勉強会 iptables設定 # 設定を保存 service iptables save # iptablesを起動 service iptables start # iptablesをスタートアップ登録する chkconfig iptables on
  48. 48. 第1回 一撃サーバー構築シェルスクリプト勉強会 nginxインストール # リポジトリをインストール yum -y install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos- 6-0.el6.ngx.noarch.rpm # mainlineに向き先変更 cp -p /etc/yum.repos.d/nginx.repo /etc/yum.repos.d/nginx.repo.orig sed -i 's/centos/mainline/centos/' /etc/yum.repos.d/nginx.repo # install yum -y install nginx
  49. 49. 第1回 一撃サーバー構築シェルスクリプト勉強会 phpインストール # リポジトリをインストール yum -y install http://rpms.famillecollet.com/enterprise/remi-release- 6.rpm # install yum --enablerepo=remi-php56 -y install php-cli php-common php-mbstring php-pdo php-xml php-mysqlnd php-pecl-apcu php-xmlrpc php-opcache php-fpm
  50. 50. 第1回 一撃サーバー構築シェルスクリプト勉強会 mysql-serverインストール # install yum -y install mysql-server
  51. 51. 第1回 一撃サーバー構築シェルスクリプト勉強会 MySQL設定
  52. 52. 第1回 一撃サーバー構築シェルスクリプト勉強会 ポイント ● rootユーザのパスワードはランダムに生成したい(固定値にし ちゃうと、漏れたときのリスクが同じスクリプトを使って作った サーバすべてに及ぶ) ● WordPress接続用のユーザーも、同様にパスワードをランダムに 生成する ● mysqlコマンドに-eオプション
  53. 53. 第1回 一撃サーバー構築シェルスクリプト勉強会 ● mysqldを起動し、スタートアップに登録する ● MySQLのrootユーザとパスワードを作成し、パラメーターファ イルに格納する。書式は user root <Password> ● WordPressのDBに関してパラメーターファイルに格納する。書 式は DBPARAM DB名 DBユーザー名 <Password> ● MySQLのrootユーザーのパスワードを設定する。 ● WordPressのデータベースを作成する。 ● DBユーザー(WordPressデータベース接続用)のパスワードを変数 PWに格納する。 ● DBユーザーを作成する。
  54. 54. 第1回 一撃サーバー構築シェルスクリプト勉強会 ● mysql_secure_installation 代替コマンド実行 ● 匿名ユーザーの削除 ● localhost以外からのrootログイン禁止 ● testデータベース削除 なぜmysql_secure_installationを使わないのか? → 対話式のコマンドなので、入力待ちで止まってしまうため ● 権限情報の再読込
  55. 55. 第1回 一撃サーバー構築シェルスクリプト勉強会 パラメータファイル ${HOME}/.mysql/MySQLPARAM
  56. 56. 第1回 一撃サーバー構築シェルスクリプト勉強会 PHP設定
  57. 57. 第1回 一撃サーバー構築シェルスクリプト勉強会 やること ● php.iniのタイムゾーン設定 → 余計なログを出したくないので、東京に合わせておく。 ● php-fpmの実行ユーザー設定 → apacheからnginxへ変更する。 ● php-fpmを起動し、スタートアップ登録する
  58. 58. 第1回 一撃サーバー構築シェルスクリプト勉強会 Let's Coding
  59. 59. 第1回 一撃サーバー構築シェルスクリプト勉強会 回答
  60. 60. 第1回 一撃サーバー構築シェルスクリプト勉強会 PARAMFILE=${HOME}/.mysql/MySQLPARAM mkdir ${HOME}/.mysql chkconfig mysqld on service mysqld start
  61. 61. 第1回 一撃サーバー構築シェルスクリプト勉強会 # MySQLのrootユーザとパスワードを作成し、パラメーターファ イルに格納する。 # 書式は user root <Password> echo "user root $(cat /dev/urandom | tr -dc '[:alnum:]' | head -c 8)" > ${PARAMFILE}
  62. 62. 第1回 一撃サーバー構築シェルスクリプト勉強会 # WordPressのDBに関してパラメーターファイルに格納する。 # 書式は DBPARAM DB名 DBユーザー名 <Password> echo "DBPARAM ${DBNAME} ${DBUSER} $(cat /dev/urandom | tr -dc '[:alnum:]' | head -c 8)" >> ${PARAMFILE}
  63. 63. 第1回 一撃サーバー構築シェルスクリプト勉強会 # MySQLのrootユーザーのパスワードを設定する。 mysqladmin -u root password "$(grep ^user ${PARAMFILE} | awk '{print $NF}')"
  64. 64. 第1回 一撃サーバー構築シェルスクリプト勉強会 # WordPressのデータベースを作成する。 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "create database ${DBNAME} character set utf8;"
  65. 65. 第1回 一撃サーバー構築シェルスクリプト勉強会 # DBユーザー(WordPressデータベース接続用)のパスワードを変 数PWに格納する。 PW=$(grep ^DBPARAM ${PARAMFILE} | awk '{print $NF}') # DBユーザーを作成する。 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "GRANT ALL PRIVILEGES on ${DBNAME}.* to $ {DBUSER}@localhost identified by "${PW}";"
  66. 66. 第1回 一撃サーバー構築シェルスクリプト勉強会 mysql_secure_installation 代替コマンド # 匿名ユーザーの削除 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "DELETE FROM mysql.user WHERE User='';"
  67. 67. 第1回 一撃サーバー構築シェルスクリプト勉強会 mysql_secure_installation 代替コマンド # localhost以外からのrootログイン禁止 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
  68. 68. 第1回 一撃サーバー構築シェルスクリプト勉強会 mysql_secure_installation 代替コマンド # testデータベース削除 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "DROP DATABASE test;"
  69. 69. 第1回 一撃サーバー構築シェルスクリプト勉強会 # 権限情報の再読込 mysql -u root -p$(grep ^user ${PARAMFILE} | awk '{print $NF}') -e "FLUSH PRIVILEGES;"
  70. 70. 第1回 一撃サーバー構築シェルスクリプト勉強会 PHP設定 # php.iniでタイムゾーン設定 cd /etc cp -p php.ini php.ini.orig sed -i 's/;date.timezone =/;##--@--##date.timezone =ndate.timezone = Asia/Tokyo/' php.ini
  71. 71. 第1回 一撃サーバー構築シェルスクリプト勉強会 PHP設定 # php-fpm設定ファイル (www.conf) 編集 cd /etc/php-fpm.d cp -p www.conf www.conf.orig sed -i 's/^user = apache/;user = apachenuser = nginx/' www.conf sed -i 's/^group = apache/;group = apachengroup = nginx/' www.conf
  72. 72. 第1回 一撃サーバー構築シェルスクリプト勉強会 PHP設定 # php-fpm起動、スタートアップ登録 service php-fpm start chkconfig php-fpm on
  73. 73. 第1回 一撃サーバー構築シェルスクリプト勉強会 Let's Coding
  74. 74. 第1回 一撃サーバー構築シェルスクリプト勉強会 回答
  75. 75. 第1回 一撃サーバー構築シェルスクリプト勉強会 休憩
  76. 76. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール
  77. 77. 第1回 一撃サーバー構築シェルスクリプト勉強会 ● ドキュメントルートは /var/www/IPアドレス ● githubからWordPressダウンローダーを取得する https://raw.githubusercontent.com/nullpopopo/wpdl/master/bin/wpdl ● WordPress ( latest-ja.tar.gz ) は ${HOME}/src/wordpress/current/ に保存される ● wp-config-sample.php から wp-config.php をコピーし、DB名、 DBのユーザー名、パスワードを設定し、「put your unique phrase here」を32文字のランダムな文字列に置換する ● ドキュメントルートのユーザー・グループは nginx:root とする
  78. 78. 第1回 一撃サーバー構築シェルスクリプト勉強会 nginx設定
  79. 79. 第1回 一撃サーバー構築シェルスクリプト勉強会 参考URL http://wpdocs.sourceforge.jp/Nginx http://wiki.nginx.org/HttpCoreModule
  80. 80. 第1回 一撃サーバー構築シェルスクリプト勉強会 ● /etc/nginx/nginx.conf を直接弄るのは worker_processesの数をコア数に合わせるくら いで、他は弄らない。 ● /etc/nginx/conf.d/000_VHOST.conf にヒアドキュ メントで設定を流し込む。
  81. 81. 第1回 一撃サーバー構築シェルスクリプト勉強会 # This order might seem weird - this is attempted to match last if rules below fail. # http://wiki.nginx.org/HttpCoreModuleJa#try_files location / { try_files $uri $uri/ /index.php?$args; index index.php index.html index.htm; } ファイルの存在を順に確認し、最初に確認できたファイルを返却します。$uri /のように末尾にス ラッシュのついたパスはディレクトリを示します。ファイルが確認できなかった場合は、末尾に指 定したパラメータに対して内部リダイレクトが行われます。末尾のパラメータはフォールバック用 の URI で、必ず 存在している必要があります。存在していない場合は内部エラーが発生します。
  82. 82. 第1回 一撃サーバー構築シェルスクリプト勉強会 # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; リクエストURIが http://IPアドレス/wp-admin だったら、末尾にス ラッシュをつけたURIにリライトする。
  83. 83. 第1回 一撃サーバー構築シェルスクリプト勉強会 Let's Coding
  84. 84. 第1回 一撃サーバー構築シェルスクリプト勉強会 回答
  85. 85. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # ドキュメントルート作成 mkdir -p /var/www/${ETH0} # WordPressダウンローダー取得 cd ${HOME} mkdir bin cd bin wget https://raw.githubusercontent.com/nullpopopo/wpdl/master/bin/wpdl
  86. 86. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # WordPressダウンローダー実行 chmod 700 wpdl cd ${HOME} bin/wpdl
  87. 87. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # WordPress ( latest-ja.tar.gz ) 展開 cd ${HOME}/src/wordpress/current/ tar xzf latest-ja.tar.gz cd wordpress/ cp -pr * /var/www/${ETH0}
  88. 88. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # wp-config.php 編集 cd /var/www/${ETH0} cp -p wp-config-sample.php wp-config.php chmod 660 wp-config.php
  89. 89. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # wp-config.php 編集 (DB名置換) sed -i s/database_name_here/$(grep ^DBPARAM ${PARAMFILE} | awk '{print $2}')/g wp-config.php
  90. 90. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # wp-config.php 編集 (ユーザー名置換) sed -i s/username_here/$(grep ^DBPARAM ${PARAMFILE} | awk '{print $3}')/g wp-config.php
  91. 91. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # wp-config.php 編集 (パスワード置換) sed -i s/password_here/$(grep ^DBPARAM ${PARAMFILE} | awk '{print $4}')/g wp-config.php
  92. 92. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # wp-config.php 編集 (認証用ユニークキー設定) sed -i s/'put your unique phrase here'/$(cat /dev/urandom | tr -dc '[:alnum:]'| head -c 32)/g wp-config.php
  93. 93. 第1回 一撃サーバー構築シェルスクリプト勉強会 WordPress インストール # ドキュメントルート オーナー、パーミッション設定 cd /var/www/ chown -R nginx:${USER} ${ETH0} chmod -R g+w ${ETH0}
  94. 94. 第1回 一撃サーバー構築シェルスクリプト勉強会 nginx設定 # worker_processesの数をコア数に合わせる cd /etc/nginx/ cp -p nginx.conf nginx.conf.orig sed -i "s/worker_processes[[:space:]]+[0-9]+/worker_processes $ (cat /proc/cpuinfo | grep processor | wc -l)/g" nginx.conf
  95. 95. 第1回 一撃サーバー構築シェルスクリプト勉強会 nginx設定 # バーチャルホスト設定ファイル作成 cd conf.d cat << _EOL_ > 000_VHOST.conf ※ 次のページから行番号つきで表示します
  96. 96. 第1回 一撃サーバー構築シェルスクリプト勉強会 1 server { 2 server_name ${ETH0}; 3 root /var/www/${ETH0}; 4 5 # This order might seem weird - this is attempted to match last if rules below fail. 6 # http://wiki.nginx.org/HttpCoreModule 7 location / { 8 try_files $uri $uri/ /index.php?$args; 9 index index.php index.html index.htm; 10 }
  97. 97. 第1回 一撃サーバー構築シェルスクリプト勉強会 11 12 # Add trailing slash to */wp-admin requests. 13 rewrite /wp-admin$ $scheme://$host$uri/ permanent; 14 15 # Directives to send expires headers and turn off 404 error logging. 16 location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { 17 expires 24h; 18 log_not_found off; 19 } 20
  98. 98. 第1回 一撃サーバー構築シェルスクリプト勉強会 21 # Pass all .php files onto a php-fpm/php-fcgi server. 22 location ~ .php$ { 23 try_files $uri =404; 24 fastcgi_split_path_info ^(.+.php)(/.+)$; 25 include fastcgi_params; 26 fastcgi_index index.php; 27 fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name; 28 fastcgi_pass 127.0.0.1:9000; 29 } 30 } 31 _EOL_
  99. 99. 第1回 一撃サーバー構築シェルスクリプト勉強会 service nginx start chkconfig nginx on
  100. 100. 第1回 一撃サーバー構築シェルスクリプト勉強会 reboot
  101. 101. 第1回 一撃サーバー構築シェルスクリプト勉強会
  102. 102. 第1回 一撃サーバー構築シェルスクリプト勉強会
  103. 103. 第1回 一撃サーバー構築シェルスクリプト勉強会
  104. 104. 第1回 一撃サーバー構築シェルスクリプト勉強会
  105. 105. 第1回 一撃サーバー構築シェルスクリプト勉強会
  106. 106. 第1回 一撃サーバー構築シェルスクリプト勉強会
  107. 107. 第1回 一撃サーバー構築シェルスクリプト勉強会
  108. 108. 第1回 一撃サーバー構築シェルスクリプト勉強会
  109. 109. 第1回 一撃サーバー構築シェルスクリプト勉強会
  110. 110. 第1回 一撃サーバー構築シェルスクリプト勉強会 お疲れ様でした!

    Be the first to comment

    Login to see the comments

  • KeijuHigashi

    Sep. 6, 2014
  • tomochika1985

    Apr. 16, 2015
  • kohsukeokada9

    Mar. 15, 2018

2014/09/06 実施の第1回 一撃サーバー構築シェルスクリプト勉強会 発表資料です。

Views

Total views

5,402

On Slideshare

0

From embeds

0

Number of embeds

2,612

Actions

Downloads

0

Shares

0

Comments

0

Likes

3

×