Vagrantの環境設定
Vagrantfileを設定記載
35| config.vm.network "private_network", ip: "192.168.44.55" # 適当なIPを指定しましょう。
46| config.vm.synced_folder "./dev", "/home/vagrant/dev"
windows側が左で vagrantのファイルが右です
※あらかじめ指定のディレクトリは作成しておきましょう。
CentOSの環境設定
言語の設定
初期設定のままだとドイツ語と非常に面倒くさいです。
その為日本語に再設定したいと思います。
設定の確認コマンド
$ System Locale
変換できる言語一覧の表示
$ localectl list-locales | grep ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
utf-8が最近一般的なのでこんな感じでやっときます。
設定の変更
言語
$ localectl set-locale LANG=ja_JP.utf8
キーボード
$ localectl set-keymap jp106
以上を設定し、再起動を行えば無事日本語化が完了します。
$ sudo shutdown -r now
参考記事
Gitのインストール
直接最新版のgitの環境をインストールするのは依存パッケージの関係で難しいため
yumを通して過去バージョンをインストールした後に、
手順
パターン1
# 予め
# $ git clone git clone git://git.kernel.org/pub/scm/git/git.git
# を他の環境で実行しておいて、ファイルを引っ張り、依存環境解決しても可
$ sudo yum update
$ sudo yum -y install git
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ sudo yum remove git
$ cd /usr/local/src
$ sudo git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git
$ sudo make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ exec $SHELL
$ git --version
パターン2
# ① $ git clone git clone git://git.kernel.org/pub/scm/git/git.git
# を他の環境で実行しておいて、ファイルを引っ張り、依存環境解決しても可
$ sudo yum update
$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ sudo yum remove git
$ cd /usr/local/src
$ wget https://www.kernel.org/pub/software/scm/git/git-2.4.0.tar.gz
$ tar zxvf git-2.4.0.tar.gz
$ cd git
$ sudo make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ exec $SHELL
$ git --version
参考にしたサイト
CentOSに最新版のGitをインストール・アップデートする方法
Updateの方法
Apache2.4系のインストール
$ sudo yum install httpd httpd-devel
$ sudo systemctl enable httpd.service
$ sudo systemctl start httpd.service
$ sudo systemctl status httpd.service
外部から接続する場合CentOS7はfirewallを切る必要がある
$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld
設定ファイルなどなど
コンフィグの確認
$ cat /etc/httpd/conf/httpd.conf
MySQLのインストール
CentOS7では最初からMariaDBが入っている(らしいが、socketエラーが出て自分は面倒だったのでMySQLをインストール)
ので競合しないように削除しておく必要がある
$ sudo yum -y remove mariadb-libs
$ sudo rm -rf /var/lib/mysql
手順
$ sudo rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
$ sudo yum -y install mysql-community-server
$ mysqld --version
mysqld Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))
# インストール完了!
起動コマンド
$ sudo systemctl start mysqld.service
自動起動設定
$ sudo systemctl enable mysqld.service
初期設定
$ sudo cat /var/log/mysqld.log | grep password | awk '{print substr($0, length
($0) - 27, length($0))}'
root@localhost: uhsd!Aid;3Zt
uhsd!Aid;3Zt10この[localhos :]以降がパスワードとなるのでメモしておこう。
対話形式でパスワードの設定を行います
$ mysql_secure_installation
※パスワードの設定を求められますが、記号を含まなければいけないため注意が必要です
※何か聞かれても大体y
でok
その他設定関連【重要】
MySQLの設定を開きます
$ sudo vi /etc/my.conf
mysqldの中身を変更
character-set-server = utf8 // 文字コードの設定
default_password_lifetime = 0 // 初期設定だと1年経過するとパスワードを変更していないとログインできなくなる
[mysqld]
.
.
.
character-set-server = utf8
default_password_lifetime = 0
設定を反映させるために再起動を行う
$ sudo systemctl restart mysqld.service
起動確認
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.22 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
参考にしたサイト
CentOS 7 に MySQL 5.7 を yum インストールして初期設定までやってみた
Rbenvのインストール (お好み)
手順
昔は意味が分からなかったけど ~/.bash_profile (/home/vagrant/.bash_profile)へ、[>>] [Redirectによる追記]を実行する。
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
# ruby-buildのインストール
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
念のため$ cat .bash_profile
で確認しよう
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
#
備考
環境にもよりますが、Rubyのダウンロードとインストールがめちゃくちゃ長いので気長に待ちましょう。
Railsを使ってみよう。
参考にしたサイト
rbenv を使って ruby をインストールする(CentOS編)
Pyenvのインストール (お好み)
手順
$ git clone https://github.com/pyenv/pyenv ~/.pyenv
$ echo '# Pyenv' >> ~/.bash_profile
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
備考
Rubyと同じくインストールに関してめちゃくちゃ重たいので気長にまとう
anacondaを使ってみよう。(ディープラーニング)
$ pyenv install anaconda3-5.1.0
ディープラーニングに関しては後日追記します。
参考にしたサイト
goenvのインストール(お好み)
手順
$ git clone https://github.com/syndbg/goenv.git ~/.goenv
$ echo '# goenv PATH ' >> ~/.bash_profile
$ echo 'export PATH="$HOME/.goenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(goenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ goenv -v
参考にしたサイト
phpenvのインストール(お好み)
手順
※rbenvが元に作成されているのでところどころ名残があり、rbenvと一部表示される部分等がありますが、問題はありません。
※re2cが中々曲者です
# 依存ライブラリの解決 必要ない物も含まれるかもしれません。
$ sudo -y yum install epel-release re2c mhash libmcrypt-devel bison libtidy-devel
# 依存ライブラリの解決
$ mkdir documents
$ cd documents
$ git clone https://github.com/CHH/phpenv.git
$ cd phpenv/bin
$ sh phpenv-install.sh
$ echo '#phpenv' >> ~/.bash_profile
$ echo 'export PATH="/home/vagrant/.phpenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(phpenv init -)"' >> ~/.bash_profile
$ git clone git://github.com/CHH/php-build.git ~/.phpenv/plugins/php-build
$ exec $SHELL -l
apacheとの連携を後日追記
phpenvはデフォルトの設定だとlibphp7.so
が無いらしい(libphp[version].so)
PHPとApacheの連携を行う
libphp[x].soのインストール
$ cd ~/.phpenv/plugins/php-build/share/php-build/definitions
$ sudo vi 7.1.4
# $ sudo vi {PHPversion}
下記の情報を追記する(怒られたら別の方を記述しよう)
configure_option "--with-apxs2" "/usr/bin/apxs"
configure_option "--with-apxs2" "/usr/sbin/apxs"
configure_option "--with-apxs2" "/usr/bin/apxs"
install_package "https://secure.php.net/distributions/php-7.1.4.tar.bz2"
install_xdebug "2.6.0"
enable_builtin_opcache
phpenvでPHPの再インストールを行う
phpenv install {PHPversion}
phpenv install 7.1.4
$ sudo cp /usr/lib64/httpd/modules/libphp7.so ~/.phpenv/versions/7.1.4/libexec/libphp7.so
$ sudo cp /usr/lib64/httpd/modules/libphp{PHPのバージョン頭1文字}.so ~/.phpenv/versions/{PHPのバージョン}/libexec/libphp7.so
Apacheの設定を追記する。
$ sudo vi /etc/httpd/conf.d/php.conf
# 先ほどコピーしたlibphp5.soを参照する
LoadModule php7_module /home/vagrant/.phpenv/versions/7.1.4/libexec/libphp7.so
# LoadModule php{頭バージョン}_module /home/vagrant/.phpenv/versions/{全バージョン}/libexec/libphp{頭バージョン}.so
# .phpファイルにアクセスした場合PHPスクリプトとして扱う記述
AddType application/x-httpd-php .php
# デフォルトファイルの追加
DirectoryIndex index.php
$ sudo httpd -t
Syntax OK
$ sudo service httpd stop
$ sudo service httpd start
備考
phpenvでインストールする際
[Compiling]: /tmp/php-build/source/7.1.4
で、かなりの時間止まりますが、気長に待ちましょう。
参考にしたサイト
phpenv インストール
phpenvの導入して複数バージョンのPHPを管理する
PHP7をCentOS7にインストールする手順
ひとりごと-PHP tidy のインストールにはまった
nodenvのインストール(お好み)
手順
$ git clone git://github.com/nodenv/nodenv.git ~/.nodenv
$ git clone https://github.com/nodenv/node-build.git ~/.nodenv/plugins/node-build
$ echo '# nodenv PATH ' >> ~/.bash_profile
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ nodenv -v