5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

centos kuro memo

Last updated at Posted at 2017-07-15

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 ~]# 
5
8
32

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?