作成したシェルスクリプト詳細
LinuxにApache, MySQL, PHPとWordpressをインストールする時間の掛かる作業を、シェルスクリプトを一回実行すると一発で環境が整うようにします。
まずはwordpress_lamp.shなどのファイルを作り、実行権限を与える。
1 2 |
$ touch wordpress_lamp.sh $ chmod +x wordpress_lamp.sh |
作成したシェルスクリプト詳細
- rootユーザーで実行する
- LinuxディストリビューションはCentOS
- Apache, MySQL, PHPをこれからインストールするPC対象
実行条件
以下は一発作成シェルスクリプトのソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# 変数定義 => MySQLの設定で必須 database=wordpress user=wp_user password=password host_name=localhost # yumで必要なものインストール yum -y install httpd mysql-server php php-mysql wget # ポート開放 service iptables restart iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # Apacheの起動、自動起動設定 service httpd restart chkconfig httpd on # PHPの設定ファイルのバックアップ、timezoneの設定 cp /etc/php.ini /etc/php.ini.org sed -i -e "s/date\.timezone =/date\.timezone = Asia\/Tokyo/g" /etc/php.ini #設定を反映 service httpd restart # Wordpressのダウンロードと解凍 wget http://ja.wordpress.org/wordpress-4.3-ja.tar.gz tar zxvf wordpress-4.3-ja.tar.gz # Wordpressファイルを/var/www/配下にコピーし、apacheで読み込めむ cp -r wordpress /var/www/ chown -R apache.apache /var/www/wordpress # /etc/httpd/conf/httpd.confのバックアップと編集 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org sed -i -e "s/\/var\/www\/html/\/var\/www\/wordpress/g" /etc/httpd/conf/httpd.conf sed -i -e "s/Directory \//Directory \/var\/www\/wordpress/g" /etc/httpd/conf/httpd.conf sed -i -e "s/AllowOverride None/AllowOverride All/g" /etc/httpd/conf/httpd.conf #Apachenのバージョン非表示 sed -i -e "s/ServerTokens OS/ServerTokens Prod/g" /etc/httpd/conf/httpd.conf # MySQLの起動と設定 service mysqld start chkconfig mysqld on mysql -u root -e "create database $database" mysql -u root -e "grant all privileges on $database.* to $user@$host_name identified by '$password'" # wp-config.phpのバックアップ # Wordpressへデータベースの設定を書き込む cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php sed -i -e "s/define('DB_NAME', 'database_name_here')/define('DB_NAME', '$database')/g" /var/www/wordpress/wp-config.php sed -i -e "s/define('DB_USER', 'username_here')/define('DB_USER', '$user')/g" /var/www/wordpress/wp-config.php sed -i -e "s/define('DB_PASSWORD', 'password_here')/define('DB_PASSWORD', '$password')/g" /var/www/wordpress/wp-config.php sed -i -e "s/define('DB_HOST', 'localhost')/define('DB_HOST', '$host_name')/g" /var/www/wordpress/wp-config.php sed -i -e "s/define('DB_CHARSET', 'utf8')/define('DB_CHARSET', 'utf8')/g" /var/www/wordpress/wp-config.php # httpd.confの反映 service httpd restart |
2行 ~ 5行はMySQLで設定するデータベース名、ユーザー名、パスワード、ホスト名なので変数にして
適宜、置き換えられるようにした。
MySQLがもしもインストール済み、かつMySQLのrootユーザにパスワードを付与している場合は、
53,54行目の部分を以下のように-pオプションを付け足してください。
1 2 |
mysql -u root -p -e "create database $database" mysql -u root -p -e "grant all privileges on $database.* to $user@$host_name identified by '$password'" |
-p をつけるとMySQLに接続する際に設定したパスワードを要求されます。
シェルスクリプトは ./wordpress_lamp.sh とコマンドラインで打つと実行できる。
1 |
$ ./wordpress_lamp.sh |
LAMP環境 + WordPress が出来上がるまで約1分。
とても便利です。
* 実行後はブラウザから、LAMP+WordpressをインストールしたサーバのIPアドレスにアクセスするとWordpressの画面が表示されます。