Vagrant で開発環境を作ったメモ書き。お目汚し失礼。
Vagrant 設定
ホストマシンで vagrant の設定
$ vagrant box add centos67 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
$ vagrant init
$ vi Vagrantfile
############################################
Vagrant.configure("2") do |config|
config.vm.box = "centos67"
config.vm.network "private_network", ip: "192.168.33.15"
## 開発環境なのでセキュリティは許容して config.ssh.insert_key = false と記載
config.ssh.insert_key = false
end
############################################
# 起動
$ vagrant up
# 作成した仮想環境にログイン
$ vagrant ssh
### シャットダウンするとき
$ vagrant halt
### 一時停止するとき
$ vagrant suspend
python3 のインストール
# ius レポジトリ追加
[vagrant@yuzu ~]$ yum install https://centos6.iuscommunity.org/ius-release.rpm
[vagrant@yuzu ~]$ yum search python3
# python3 インストール
[vagrant@yuzu ~]$ yum install -y python35u python35u-pip python35u-devel
依存の関係で python35u-libs
とpython35u-setuptools
もインストールされます。
[vagrant@yuzu ~]$ pip3.5 install --upgrade pip
Requirement already up-to-date: pip in /usr/lib/python3.5/site-packages
python環境作成
[vagrant@yuzu ~]$ cd /vagrant/
# 仮想環境作成
[vagrant@yuzu vagrant]$ pyvenv-3.5 venv_app1
# 入る
[vagrant@yuzu vagrant]$ source venv_app1/bin/activate
(venv_app1) [vagrant@yuzu vagrant]$
# 抜ける
(venv_app1) [vagrant@yuzu vagrant]$ deactivate
[vagrant@yuzu vagrant]$
# python の場所
(venv_app1) [vagrant@yuzu vagrant]$ which python
/vagrant/venv_app1/bin/python
# python のバージョン
(venv_app1) [vagrant@yuzu vagrant]$ python --version
Python 3.5.2
# pip の場所
(venv_app1) [vagrant@yuzu vagrant]$ which pip
/vagrant/venv_app1/bin/pip
# python の場所
(venv_app1) [vagrant@yuzu vagrant]$ pip --version
pip 8.1.2 from /vagrant/venv_app1/lib64/python3.5/site-packages (python 3.5)
(venv_app1) [vagrant@yuzu vagrant]$ pip3.5 install django
(venv_app1) [vagrant@yuzu vagrant]$ pip3.5 install uwsgi
MySQLインストール
インストール済みファイルの関連でエラーが出るので、事前に削除してしまいます。
[vagrant@yuzu ~]$ sudo yum remove mysql*
mysql-libs
とともに、依存モジュールcronie
、cronie-anacron
、crontabs
、postfix
も削除されます。開発環境でなければできない荒業です。
[vagrant@yuzu ~]$ yum search mysql57
[vagrant@yuzu ~]$ sudo yum install -y mysql57u-server mysql57u-devel
[vagrant@yuzu ~]$ sudo service mysqld start
Initializing MySQL database
Starting mysqld: [ OK ]
# root のパスワード設定など
[vagrant@yuzu ~]$ mysql_secure_installation
httpd インストール
[vagrant@yuzu ~]$ sudo yum install -y httpd mod_wsgi
# あとでdiffを取るために、設定ファイルのコピー
[vagrant@yuzu ~]$ sudo cp -i /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_rpmnew
[vagrant@yuzu ~]$ sudo vi /etc/httpd/conf/httpd.conf
# 不要なモジュールのロードなど全て消してしまいたいが、まずは適当な設定
[vagrant@yuzu ~]$ diff /etc/httpd/conf/httpd.conf.rpmnew /etc/httpd/conf/httpd.conf
44c44
< ServerTokens OS
---
> ServerTokens ProductOnly
163,164c163,164
< LoadModule ldap_module modules/mod_ldap.so
< LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
---
> # LoadModule ldap_module modules/mod_ldap.so
> # LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
167c167
< LoadModule logio_module modules/mod_logio.so
---
> # LoadModule logio_module modules/mod_logio.so
177c177
< LoadModule dav_module modules/mod_dav.so
---
> # LoadModule dav_module modules/mod_dav.so
181c181
< LoadModule dav_fs_module modules/mod_dav_fs.so
---
> # LoadModule dav_fs_module modules/mod_dav_fs.so
186,187c186,187
< LoadModule speling_module modules/mod_speling.so
< LoadModule userdir_module modules/mod_userdir.so
---
> # LoadModule speling_module modules/mod_speling.so
> # LoadModule userdir_module modules/mod_userdir.so
191,196c191,196
< LoadModule proxy_module modules/mod_proxy.so
< LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
< LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
< LoadModule proxy_http_module modules/mod_proxy_http.so
< LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
< LoadModule proxy_connect_module modules/mod_proxy_connect.so
---
> # LoadModule proxy_module modules/mod_proxy.so
> # LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
> # LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
> # LoadModule proxy_http_module modules/mod_proxy_http.so
> # LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
> # LoadModule proxy_connect_module modules/mod_proxy_connect.so
200c200
< LoadModule cgi_module modules/mod_cgi.so
---
> # LoadModule cgi_module modules/mod_cgi.so
276c276
< #ServerName www.example.com:80
---
> ServerName *:80
331c331
< Options Indexes FollowSymLinks
---
> Options -Indexes FollowSymLinks
402c402
< DirectoryIndex index.html index.html.var
---
> DirectoryIndex index.html
536c536
< ServerSignature On
---
> ServerSignature Off
[vagrant@yuzu ~]$ sudo service httpd configtest
Syntax OK
[vagrant@yuzu ~]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]