Help us understand the problem. What is going on with this article?

開発環境構築メモ

More than 3 years have passed since last update.

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-libspython35u-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とともに、依存モジュールcroniecronie-anacroncrontabspostfixも削除されます。開発環境でなければできない荒業です。

[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  ]

参考と注釈

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away