miyupaca log

2020-07-23 yps学習記録その2

2020/07/23

やったこと

  • mysql5.7のインストール
  • Nginxのインストール
  • PHP7.3のインストール
  • VScodeの設定

yps1 task2

今回のお品書き

  • mysql5.7のインストール

MySQLはデータベース管理システムのこと!

sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
sudo yum install -y mysql-community-server
mysqld --version // バージョン確認、表示されればok
sudo systemctl enable mysqld // 自動起動設定

以下のコマンドでエラー出てないか確認。

sudo systemctl start mysqld
sudo systemctl status mysqld
sudo systemctl stop mysqld

以下のコマンドで初期パスワードを取得。

sudo cat /var/log/mysqld.log | grep -i root

表示される内、root@localhost:XXXXX…が初期パスワードになる。
このパスワードを入れてログインする。

sudo systemctl start mysqld 
mysql -u root -p // このコマンドの後初期パスワード入力

mysqlのプロンプトになったらパスワードを変更する。

SET PASSWORD = PASSWORD('XXXXXXXX');

パスワード変更できたらexitで一旦抜ける。

sudo vi /etc/my.cnf

以下を追記する。
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4

そうしたら、mysqlを再起動&ログインして設定確認。

sudo systemctl restart mysqld
mysql -u root -p

mysqlプロンプトで以下を入力。

show variables like "chara%";

utf8mb4が表示されてるのを確認。

  • Nginxのインストール

Nginxはwebサーバのこと!
まずはファイルを作成。

sudo vi /etc/yum.repos.d/nginx.repo 

以下を入力して保存する。
[nginxv]
name=nginx repo
baseurl=https://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

いよいよNginxをインストールする。

sudo yum install nginx -y
nginx -v // バージョンが表示されればok
sudo systemctl enable nginx // 自動起動設定

AWS EC2のインスタンスのインバウンドルールにHTTPとHTTPSを追加する。
ターミナルに戻ってNginxを起動。

sudo systemctl start nginx

これでブラウザからアクセスできるようになる!
インスタンスの「IPv4 パブリック IP」がURLになる。
Hello Nginx!!!!
コンフィグをいじるのでターミナルに戻る。

sudo mkdir -p /var/www/html
sudo chown -R centos:nginx /var/www
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.org
sudo vi /etc/nginx/conf.d/default.conf

server_name //IPv4 パブリック IP
#root /usr/share/nginx/html;
root /var/www/html;
ブラウザでアクセスしていたURLが403エラーになっていればok

  • PHP7.3のインストール

EPELとRemiをインストールする。

sudo yum install epel-release
sudo yum update
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum update

EPELとRemiってなんだ?と思ったら、最新バージョンのパッケージを使うために利用される外部リポジトリ、らしい。yumのデフォルトリポジトリのパッケージは古いものも多いらしい。今回の場合は最新のPHPを使いたいから利用した感じですね。多分。
【yum入門】epel, remiなどのレポジトリをyumに追加する方法 | UX MILK

PHPのインストールも進める!

sudo yum -y install --enablerepo=epel,remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-fpm php-mysql php-mysqlnd
php -v // バージョン確認、表示されればok

コンフィグの編集。

sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
sudo vi /etc/php-fpm.d/www.conf

以下を編集して保存。
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

sudo vi /etc/nginx/conf.d/default.conf

index index.php index.html index.htm; // index.phpを追加

tryfiles $uri $uri/ /index.php?$querystring; // index index.php…の下に追加

// location / { … }の次の行に以下を追加
location ~ .php$ {
fastcgipass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi
index index.php;
fastcgiparam SCRIPTFILENAME $documentroot$fastcgiscriptname;
include fastcgi
params;
}

// fastcgi_pass…の前の行に以下を追加
root /var/www/html;
ここまで編集して保存。
以下のコマンドを一つずつ入力。

sudo systemctl restart nginx
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
sudo chown -R centos:nginx /var/www/

phpファイルを作成する。

vi /var/www/html/index.php

中身に以下を書いて保存。

<?php
echo phpinfo();
?>

以下のコマンドを打つ。

sudo systemctl restart nginx
sudo systemctl restart php-fpm

403エラーだったwebページにphp情報が出るようになる。

  • Lalavelのインストール

    cd /tmp
    php -r "copy('http://getcomposer.org/installer', 'composer-setup.php’);”
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    sudo mv composer.phar /usr/local/bin/composer  
    sudo chmod +x /usr/local/bin/composer
    cd /var/www/html
    sudo yum install zip unzip -y
    composer create-project --prefer-dist laravel/laravel yps
    cd yps
    cp -p .env.example .env
    php artisan key:generate
    vi .env

    .envの中身で設定するところ
    APPURL=ブラウザのURL
    DB
    PASSWORD=“MySQLで設定したパスワード”
    設定した後いろいろインストールする。

    sudo yum install npm node -y
    composer install
    npm install
    sudo chown -R centos:nginx /var/www/
    sudo chmod -R 777 storage/ bootstrap/cache/
    sudo vi /etc/nginx/conf.d/default.conf

    /var/www/html;

    /var/www/html/yps/public;
    にする(二箇所)
    そしたら再起動する。

    sudo systemctl restart nginx
    sudo systemctl restart php-fpm

    ブラウザを再起動すると。。。Hello Laravel!!

  • VSCodeの設定

あとはVScodeのRemote-SSHの設定。
VSCode の Remote – SSH 機能を使って EC2 上で開発する – サーバーワークスエンジニアブログ

Host yps
HostName XX.XX.XX.XX
User centos
Port XXXXX
IdentityFile /フルパス/XXXX.pem

これでVSCodeでファイルを触れるように!!やったー!

気づきなど

まだコマンドの意味把握しきれてないけどとりあえずいろいろインストールすることに成功した!やったー!連休中に復習しよう。
viで編集するのには慣れてきた!ただすぐ行頭や行末に移動するとか、そういう時短のためのコマンドがふと出せないのでもっともっと慣れる。


miyupaca

miyupacaの学習記録ブログです。