文書の過去の版を表示しています。
VPC、EC2の構成でのCentOS7の初期設定手順。
RDSは使わず、EC2内にMySQLをインストールする。
enforcing ・・・ SELinux は有効で、アクセス制限も有効
permissive ・・・ SELinux は有効だが、アクセス制限は行わず警告を出力
disabled ・・・ SELinux 機能は無効
# SELinux の状態を確認 $ getenforce # 編集 $ sudoedit /etc/selinux/config SELINUX=permissive # 再起動 $ sudo reboot # SELinux の状態を確認 $ getenforce
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
$ sudo yum update -y $ sudo yum install -y httpd $ sudo systemctl start httpd $ sudo systemctl enable httpd $ sudo systemctl is-enabled httpd $ sudo yum info httpd
パブリックIPなどでブラウザからアクセスできることを確認する。
http://【IPv4 パブリック IP】
yum の Git は古い。最新版を入れたい場合は wget などを使い、自分でインストールする。
http://vdeep.net/centos7-git
$ yum list | grep '^git' $ sudo yum -y install git $ git --version git version 1.8.3.1
$ sudo mkdir -p /usr/local/share/vim/colors $ sudo mkdir -p /usr/local/share/vim/color_schemes $ cd /usr/local/share/vim/color_schemes/ $ sudo git clone https://github.com/tomasr/molokai.git $ cd /usr/local/share/vim/colors $ sudo ln -s ../color_schemes/molokai/colors/molokai.vim $ cd /home/centos $ mkdir .vim $ cd .vim $ ln -s /usr/local/share/vim/colors $ cd /home/centos $ vi .vimrc # vimrc.txt を貼り付け
vimrc.txt
" バックアップファイルを作らない set nobackup " スワップファイルを作らない set noswapfile " 編集中のファイルが変更されたら自動で読み直す set autoread " 入力中のコマンドをステータスに表示する set showcmd " color autocmd ColorScheme * highlight Comment ctermfg=253 colorscheme molokai " copy&paste set paste " 見た目系 " 行番号 set number " 現在の行を強調表示 set cursorline " 現在の行を強調表示(縦) set cursorcolumn " 行末の1文字先までカーソルを移動できるように set virtualedit=onemore " インデントはスマートインデント set smartindent " 括弧入力時の対応する括弧を表示 set showmatch " ステータスラインを常に表示 set laststatus=2 " Tab系 " 不可視文字を可視化(タブが「?-」と表示される) set list listchars=tab:\?\- " Tab文字を半角スペースにする set expandtab " 行頭以外のTab文字の表示幅(スペースいくつ分) set tabstop=2 " 行頭でのTab文字の表示幅 set shiftwidth=2
$ sudo yum install epel-release -y $ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm $ sudo yum -y install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-gd php-xml php-mysql $ yum list installed | grep php $ php -v $ sudo mkdir /var/log/php $ sudo chown apache:apache /var/log/php $ cd /etc $ ls -l | grep php $ sudo cp php.ini php.ini.origin $ sudoedit php.ini # php.ini.txt の内容を反映させる
php.ini.txt
default_charset = "UTF-8" mbstring.language = Japanese ;mbstring.internal_encoding = ;mbstring.http_input = ;mbstring.http_output = mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII date.timezone = Asia/Tokyo expose_php = Off memory_limit = 128M post_max_size = 128M upload_max_filesize = 128M register_argc_argv = On error_log = /var/log/php/error.log
$ sudo service httpd restart $ sudoedit /etc/php.ini
$ sudo yum repolist all | grep mysql $ sudo yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm $ sudo yum repolist all | grep mysql $ sudo yum -y install mysql-community-server $ mysql --version # 起動 $ sudo systemctl start mysqld.service # 自動起動 $ sudo systemctl enable mysqld.service # 確認 $ systemctl status mysqld.service # mysql の root パスワードを確認 $ cat /var/log/mysqld.log | grep password # パスワードポリシーをゆるくする $ sudoedit /etc/my.cnf validate_password.length=8 validate_password.mixed_case_count=0 validate_password.number_count=0 validate_password.special_char_count=0 validate_password.policy=LOW $ sudo service mysqld restart $ sudo mysql_secure_installation # パスワード設定 # 全てy $ mysql -u root -p SHOW GLOBAL VARIABLES LIKE '%validate_password%'; exit $ sudo mkdir /var/log/mysql $ sudo chown mysql:mysql /var/log/mysql # my.cnfの編集 $ sudoedit /etc/my.cnf log-error=/var/log/mysql/mysqld.log slow_query_log=1 slow_query_log_file=/var/log/mysql/slow_query.log long_query_time=0.1 $ sudo rm /var/log/mysqld.log $ sudo service mysqld restart $ mysql -u root -p show variables like '%log%'; show global variables like 'character%';
$ ls /usr/share/zoneinfo/ $ sudoedit /etc/sysconfig/clock ZONE="Japan" $ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime $ sudo reboot
$ cat /etc/passwd $ sudo useradd www $ sudo passwd www $ sudo su - www $ mkdir .ssh $ cd .ssh $ ssh-keygen -t rsa # パスフレーズ:なし $ mv id_rsa.pub authorized_keys # 秘密鍵をコピペしてローカルに保存 $ cat id_rsa $ rm id_rsa $ chmod 600 authorized_keys $ cd ../ $ chmod 700 .ssh # www ユーザを終了 $ exit # apache に www グループを追加 $ sudo gpasswd -a apache www $ sudo id apache # 「/var/www/html」で .htaccess を許可する $ sudoedit /etc/httpd/conf/httpd.conf <Directory "/var/www/html"> AllowOverride All </Directory> $ sudo service httpd restart $ sudo chown -R www:www /var/www/ # httpd ログディレクトリへのシンボリックリンクを貼る $ sudo ls -la /var/www $ sudo ln -s /var/log/httpd /var/www/logs # アクセス権限 $ sudo chmod 755 /var/log/httpd
$ mysql -u root -p create user USER_NAME@'localhost' identified by 'PASSWORD'; select user, host from mysql.user; create database DB_NAME; grant all on DB_NAME.* to USER_NAME@'localhost'; grant all on *.* to USER_NAME@'localhost'; show grants for USER_NAME@'localhost'; exit; # 作成したユーザでログイン $ mysql -u USER_NAME -p show databases;
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php composer-setup.php $ rm composer-setup.php $ sudo mv composer.phar /usr/local/bin/composer $ ls -l /usr/local/bin
SELINUXの警告が出てないか確認
https://qiita.com/yunano/items/857ab36faa0d695573dd
コメント