wget https://github.com/kurokurosawa/centos7_setup_shell/archive/master.zip
unzip master.zip
IDとPW
CentOS
root userID:root
root userPW:root
normal userID:user
normal userPW:user
MySQL
root userID:root
root userPW:root
PostgreSQL
root userID:postgres
root userPW:postgres
su -
yum -y upgrade
yum -y update
yum -y update kernel
yum -y install kernel-devel kernel-headers gcc gcc-c++
初期設定
ルートユーザーに切り替える
rm -f setup_basic.sh; touch setup_basic.sh; chmod u+x setup_basic.sh; vi setup_basic.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;32m【RPMパッケージのアップグレード】\033[0;39m"
yum upgrade -y
echo -e "\033[0;32m【RPMパッケージのアップデート】\033[0;39m"
yum update -y
echo -e "\033[0;32m【GuestAdditionsインストール用ライブラリ】\033[0;39m"
yum install -y gcc kernel-devel kernel-headers
echo -e "\033[0;32m【共通で必要なライブラリのインストール】\033[0;39m"
yum groupinstall -y "Development Tools"
yum install -y wget
yum install -y curl-devel expat-devel gdbm-devel gettext-devel libffi-devel libyaml-devel ncurses-devel openssl-devel perl-ExtUtils-MakeMaker readline-devel zlib-devel
echo -e "\033[0;32m【RPMコンフィグファイル(/etc/sudoers)の設定】\033[0;39m"
cp -fp /etc/sudoers /etc/sudoers.`date "+%Y%m%d_%H%M%S"`_org
sed -i 's/Defaults.*requiretty/#Default\trequiretty/g' /etc/sudoers
sed -i 's/^#\s%wheel\s*ALL=(ALL)\s*ALL$/%wheel\tALL=(ALL)\tALL/g' /etc/sudoers
sed -i 's/^#\s%wheel\s*ALL=(ALL)\s*NOPASSWD: ALL$/vagrant\tALL=(ALL)\tNOPASSWD: ALL/g' /etc/sudoers
echo -e "\033[0;32m【SELinux無効設定】\033[0;39m"
sed -i "s/\(^SELINUX=\).*/\1disabled/" /etc/selinux/config
echo -e "\033[0;32m【RPMfirewall無効設定】\033[0;39m"
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --permanent --zone=public --add-port=8080/tcp
systemctl stop firewalld
systemctl disable firewalld
echo -e "\033[0;32m【locale keymapの設定】\033[0;39m"
localectl set-locale LANG=ja_JP.utf8
localectl set-keymap jp106
localectl status
echo -e "\033[0;32m【timezoneの設定】\033[0;39m"
timedatectl set-timezone Asia/Tokyo
timedatectl status
echo -e "\033[0;31m【不要サービス停止】\033[0;39m"
systemctl stop postfix.service
systemctl stop auditd
systemctl stop rpcbind.service
systemctl stop nfs-lock.service
systemctl stop auditd.service
systemctl disable postfix.service
systemctl disable auditd
systemctl disable rpcbind.service
systemctl disable nfs-lock.service
systemctl disable auditd.service Agent
echo "【Oracle JDK設定】";
yum install -y wget
mkdir /opt/java
cd /opt/java
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
tar xzvf jdk-*.gz
mv ./jdk*/* ./
rm -rf ./jdk1.8.0_92/
rm -rf ./jdk-8u92-linux-x64.tar.gz
echo 'JAVA_HOME=/opt/java' >> /etc/profile
echo 'export JAVA_HOME' >> /etc/profile
echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
echo 'CATALINA_HOME=/opt/tomcat' >> /etc/profile
echo 'export CATALINA_HOME' >> /etc/profile
. /etc/profile
echo "$JAVA_HOME"
echo $JAVA_HOME
yum -y install libXScrnSaver
echo -e "\033[0;31m【Finish】\033[0;39m"
else
echo "non-root user!"
fi
rpm –ivh jdk-8u45-linux-x64.rpm
Git
ルートユーザーに切り替える
su -
rm -f setup_git.sh; touch setup_git.sh; chmod u+x setup_git.sh; vi setup_git.sh
#!/bin/bash
func_Install (){
if [ "$UID" -eq 0 ];then
echo -e "\033[0;32m【root!】\033[0;39m"
# 定数設定
URL_GIT="https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz"
echo -e "\033[0;32m【アンストール git】\033[0;39m"
yum -y remove git
echo -e "\033[0;32m【確認 git アンストール】\033[0;39m"
git --version
echo -e "\033[0;32m【ファイル取得 git-2.X.X.tar.gz】\033[0;39m"
cd ~/
yum -y install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
wget $URL_GIT
tar zxvf git-*.tar.gz
rm -rf git-*.tar.gz
echo -e "\033[0;32m【コンパイル】\033[0;39m"
cd git-*
make prefix=/usr/local all
make prefix=/usr/local install
echo -e "\033[0;32m【シンボリックリンク】\033[0;39m"
sudo ln -s /usr/local/bin/git /usr/bin/git
echo -e "\033[0;32m【不要ファイル削除】\033[0;39m"
rm -rf git-*
echo -e "\033[0;32m【確認 git インストール】\033[0;39m"
git --version
else
echo "non-root user!"
fi
}
#2重確認 インストール済みか確認
if !(git --version) then
echo -e "\033[0;32m【gitインストールされていません インストールする必要があります】\033[0;39m"
func_Install
else
echo -e "\033[0;32m【gitインストールされています】\033[0;39m"
if (git --version | grep "git version 1") then
echo -e "\033[0;32m【1.7.1なので古いです インストールする必要があります】\033[0;39m"
func_Install
else
echo -e "\033[0;32m【新しいgitインストールされています】\033[0;39m"
fi
fi
Git初期設定
cd
ls -la ~/.ssh/
ssh-keygen -t rsa
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
#!/bin/bash
git config --global user.name "First-name Family-name"
git config --global user.email "username@example.com"
git config --global core.editor 'vim -c "set fenc=utf-8"'
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
# git config --global push.default simple
git config --global core.precomposeunicode true
git config --global core.quotepath false
# 確認
git config --list
Apache
ルートユーザーに切り替える
su -
rm -f setup_apache.sh; touch setup_apache.sh; chmod u+x setup_apache.sh; vi setup_apache.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;32m【install httpd】\033[0;39m"
yum -y install httpd
echo -e "\033[0;32m【start enable httpd】\033[0;39m"
systemctl start httpd
systemctl enable httpd
echo -e "\033[0;32m【back up httpd.conf】\033[0;39m"
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig
else
echo "non-root user!"
fi
# ユーザー直下のhtmlをドキュメントディレクトリにシンボリックリンクさせる
# "/home/vagrant/"を755にする。
chmod 755 $HOME
ls -l /home/
# "/home/vagrant/html"をvagrantユーザー権限で作成する。
mkdir $HOME/html
ls -l $HOME/
# 所有者をvagrantユーザーに設定する
sudo chown $USER:$USER $HOME/html
# "/var/www/html"にシンボリックリンクを設定する
sudo rm -rf /var/www/html
sudo ln -fs $HOME/html /var/www/html
# PHP動作確認用ファイル設置
echo -e "<?php\n\tphpinfo();\n?>" > /var/www/html/info.php
# 【確認】
ls -la /var/www | grep html
ls -la /home/ | grep vagrant
Ruby
通常ユーザーで作業する
rm -f setup_ruby.sh; touch setup_ruby.sh; chmod u+x setup_ruby.sh; vi setup_ruby.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;32m【non-normal user!】\033[0;39m"
else
sudo yum install -y git gcc openssl-devel readline-devel zlib-devel sqlite-devel gcc-c++ libicu-devel cmake
# clone rbenv source code and add it do PATH
echo -e "\033[0;32m【cloning rbenv source code】\033[0;39m"
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# initialize rbenv
echo -e "\033[0;32m【initialize rbenv】\033[0;39m"
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# clone rbenv's plugin to compile and install ruby
echo -e "\033[0;32m【installing ruby-build】\033[0;39m"
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
# install ruby
echo -e "\033[0;32m【installing ruby】\033[0;39m"
rbenv install 2.4.0
rbenv install 2.3.0
rbenv global 2.4.0
# prints out ruby version
echo -e "\033[0;32m【the following version(s) of ruby were installed:】\033[0;39m"
ruby -v
echo '\n'
echo -e "\033[0;32m【install bundler and rails】\033[0;39m"
gem install bundler
rbenv rehash
gem install rails
rbenv rehash
echo -e "\033[0;32m【the following version of rails were installed:】\033[0;39m"
rails -v
echo '\n'
fi
Rails 動作確認
rails new scaffold_sample
cd scaffold_sample
sed -i -e "s/# gem 'therubyracer'/gem 'therubyracer'/" Gemfile
bundle
rails generate scaffold user name:string age:integer
rake db:migrate
rails s
Python
通常ユーザーで作業する
rm -f setup_python.sh; touch setup_python.sh; chmod u+x setup_python.sh; vi setup_python.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo "non-normal user!"
else
echo -e "\033[0;31m【.pyenv】\033[0;39m"
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# 最新版を確認。anaconda3-2.5.0 (2系はanaconda-2.5.0)
# minicondaがいい人はminicondaを入れてください。
echo -e "\033[0;31m【install anaconda】\033[0;39m"
pyenv install -l | grep ana
pyenv install anaconda3-2.5.0
pyenv rehash
# anacondaをメインのpythonに設定。
echo -e "\033[0;31m【global anaconda】\033[0;39m"
pyenv global anaconda3-2.5.0
# activateがpyenvとanacondaでバッティングするので、pathに明示しておく。
echo -e "\033[0;31m【export PATH anaconda】\033[0;39m"
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2.5.0/bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc
#念のためconda自体をアップデートしておく。
echo -e "\033[0;31m【conda update】\033[0;39m"
conda update -y conda
echo -e "\033[0;31m【requests chainer】\033[0;39m"
conda install -y beautifulsoup4
conda install -y requests
conda install -y -c conda-forge selenium=3.4.3
conda install -y pandas
pip install --upgrade chainer
pip install --upgrade keras==2.0.5
pip install --upgrade tensorflow==1.2.1
pip install https://ci.tensorflow.org/view/Nightly/job/nightly-python35-linux-cpu/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow-1.3.0rc2-cp35-cp35m-linux_x86_64.whl
pip install --upgrade scikit-learn==0.18.1
pip install --upgrade opencv-python
# PhantomJS
echo -e "\033[0;31m【PhantomJS】\033[0;39m"
sudo yum install -y wget fontconfig-devel
sudo yum install -y epel-release
sudo rpm -ivh http://repo.okay.com.mx/centos/6/x86_64/release/okay-release-1-1.noarch.rpm
sudo yum search all phantomjs
sudo yum install -y phantomjs.x86_64
source ~/.bashrc
fi
PHP
rm -f setup_php.sh; touch setup_php.sh; chmod u+x setup_php.sh; vi setup_php.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
yum -y install epel-release.noarch
cp -p /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.org
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
cp -p /etc/yum.repos.d/remi.repo /etc/yum.repos.d/remi.repo.org
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/remi.repo
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
yum -y remove mariadb-libs
yum -y remove mysql*
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld.service
systemctl enable mysqld.service
cat /var/log/mysqld.log | grep 'password is generated'
mysql_secure_installation
else
echo "non-root user!"
fi
Node.js
rm -f setup_nodejs.sh; touch setup_nodejs.sh; chmod u+x setup_nodejs.sh; vi setup_nodejs.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
# インストール epel
echo -e "\033[0;31m【インストール epel】\033[0;39m"
yum install -y epel-release
# インストール nodejs npm
echo -e "\033[0;31m【インストール nodejs npm】\033[0;39m"
yum install -y nodejs npm
else
echo "non-root user!"
fi
DB
MySQL
rm -f setup_mysql.sh; touch setup_mysql.sh; chmod u+x setup_mysql.sh; vi setup_mysql.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;31m【remove mariadb】\033[0;39m"
yum -y remove mariadb-libs
echo -e "\033[0;31m【install mysql】\033[0;39m"
yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum -y install mysql-community-server
echo -e "\033[0;31m【start enable mysqld.service】\033[0;39m"
systemctl start mysqld.service
systemctl enable mysqld.service
else
echo "non-root user!"
fi
[手動]
cat /var/log/mysqld.log | grep password
mysql -u root -p
---------------
SET GLOBAL validate_password_length=6;
SET GLOBAL validate_password_policy=LOW;
ALTER USER root@localhost IDENTIFIED BY 'vagrant';
exit
---------------
PostgreSQL
rm -f setup_postgresql.sh; touch setup_postgresql.sh; chmod u+x setup_postgresql.sh; vi setup_postgresql.sh
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;31m【install postgresql】\033[0;39m"
yum -y install postgresql-server
postgresql-setup initdb
echo -e "\033[0;31m【start enable postgresql】\033[0;39m"
systemctl start postgresql
systemctl enable postgresql
else
echo "non-root user!"
fi
[手動]
sudo passwd postgres
su - postgres
---------------
psql -c "ALTER USER postgres WITH PASSWORD 'vagrant'"
exit
---------------
#!/bin/sh
cat <<EOF > /etc/supervisord.d/postgresql.conf
[program:postgresql]
command=/usr/bin/postgres -D /var/lib/pgsql/data
user=postgres
autorestart=true
EOF
cat <<EOF > /var/lib/pgsql/data/pg_hba.conf
local all all trust
host all all 127.0.0.1/32 trust
host all all 192.168.0.0/24 trust
host all all ::1/128 trust
EOF
cat <<EOF > /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'
EOF
Mongodb
#!/bin/bash
if [ "$UID" -eq 0 ];then
echo -e "\033[0;31m【インストール mongodb】\033[0;39m"
echo '[mongodb]' >> /etc/yum.repos.d/mongodb.repo
echo 'name=MongoDB repo' >> /etc/yum.repos.d/mongodb.repo
echo 'baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/' >> /etc/yum.repos.d/mongodb.repo
echo 'gpgcheck=0' >> /etc/yum.repos.d/mongodb.repo
echo 'enabled=1' >> /etc/yum.repos.d/mongodb.repo
echo -e "\033[0;31m【install -y mongodb】\033[0;39m"
yum install -y mongodb-org
echo -e "\033[0;31m【mongoスタート】\033[0;39m"
service mongod start
service mongod enable
else
echo "non-root user!"
fi
spark
echo -e "\033[0;32m【scala】\033[0;39m"
wget http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
tar zxfv scala-2.11.7.tgz
mv scala-2.11.7 /usr/
echo -e "\033[0;32m【spark】\033[0;39m"
wget http://ftp.riken.jp/net/apache/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
tar zxfv spark-1.5.2
mv spark-1.5.2 /usr/
echo 'export SCALA_HOME=/usr/scala-2.11.7' >> ~/.bash_profile
echo 'export SPARK_HOME=/usr/spark-1.5.2' >> ~/.bash_profile
echo 'export PATH=$SCALA_HOME/bin:$PATH' >> ~/.bash_profile
spark(コンソール)の起動
cd $SPARK_HOME
bin/spark-shell
Jenkins
#!/usr/bin/env bash
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins -y
Cloud9
# rootで実行
sudo sed -i "s/\(^SELINUX=\).*/\1disabled/" /etc/selinux/config
sudo getenforce
sudo yum install -y httpd
sudo yum install -y glibc-static
sudo yum install -y epel-release
sudo yum install -y nodejs
sudo yum install -y npm --enablerepo=epel
python -V
node -v
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 通常ユーザーで実行
cd ~/
git clone https://github.com/c9/core.git cloud9
cd cloud9
./scripts/install-sdk.sh
# サーバー起動
node server.js -l 0.0.0.0 -p 8080 -a :
python -V
> Python 2.7.5
node -v
> v0.10.42
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
Heroku
sudo wget -qO- https://toolbelt.heroku.com/install.sh | sh
echo 'PATH="/usr/local/heroku/bin:$PATH"' >> .bash_profile
source .bash_profile
chmod 0600 /home/vagrant/.netrc
heroku version
heroku login
Enter your Heroku credentials.
Email: メールアドレス
Password (typing will be hidden): パスワード
AWS CLI
rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# or
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh epel-release-7-5.noarch.rpm
yum -y update
yum -y install python-pip
pip install awscli
[root ]# aws
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: too few arguments
[root ~]#