LoginSignup
0
0

More than 1 year has passed since last update.

Conoha VPSでLaravel デプロイ

Posted at

Conoha VPSでLaravel デプロイ

VPSでLaravelのデプロイの記事が少なかったので載せました

Conoha VPSの設定を終えた後から完結書いていきます。

ユーザー設定

ユーザー作成
adduser test-user


ユーザーパスワード設定
password test-user

作成したユーザーをwhhelグループに追加
gpasswd -a test-user whhel

# Apacheサーバーをインストール
Apacheサーバーをインストール

dnf -y install httpd

apacheサーバーを起動
systemctl start httpd

apacheの状態確認
systemctl status httpd
例
 httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Thu 2021-10-21 23:09:05 JST; 2 days ago
     Docs: man:httpd.service(8)
  Process: 148519 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
 Main PID: 114715 (httpd)
 ......
上記のように表示されたら成功です


サーバー起動時に自動的にApacheを起動するように設定
systemctl enable httpd

ファイヤウォールの設定


http, httpsのアクセスを開放
sudo firewall-cmd --permanent -add-service=http
sudo firewall-cmd --permanent -add-service=https

ファイアーウォールの設定の再読み込み
sudo firewall-cmd –reload

Firewall port開放
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

リロード
firewall-cmd –reload

firewallの設定を確認するコマンド
firewall-cmd --list-all

PHPのインストール


インストールできるPHPのバージョンを確認
dnf module list php

今回は7.4をインストール
dnf -y module install php:7.4

 PHP反映
systemctl restart httpd

PHP動作確認
php -v

Apacheにmod_sslをインストール
dnf install -y mod_ssl

Apacheを再起動して反映
systemctl restart httpd

# httpd.confファイルを編集

 httpd.confファイルを編集
vi /etc/httpd/conf/httpd.conf

Listen 80のあとに追記

例
Listen 80
ServerAdmin root@testtest.com
DocumentRoot /var/mymy/public
ServerName testtest.com

Apacheを再起動
systemctl restart httpd

# SSL設定

Apacheにmod_sslをインストール
dnf install -y mod_ssl

Apacheを再起動して反映
systemctl restart httpd

certbotをインストール
dnf install certbot python3-certbot-apache

sslの反映
certbot --apache -d twi-twi-poll.com

Apacheを再起動して反映
systemctl restart httpd

通常の更新 (有効期限が1ヶ月以内出ないの使えない)
certbot renew

強制的に更新
certbot --force-renew

cronで自動更新の為にcrontabファイルを編集
vi /etc/crontab

末行に以下を追記
0 0 * * * root /usr/bin/cerbot renew

Composerのインストール


Composerのインストーラーをダウンロード
sudo wget https://getcomposer.org/installer -O composer-installer.php

Composerのインストール
php composer-installer.php --filename=composer --install-dir=/usr/local/bin

Composerのアップデート
composer self-update

Composerのバージョンの確認
composer --version

例
Composer version 2.1.9 2021-10-05 09:47:38

ドキュメントルートの設定


まずは今回デプロイするアプリケーションをGitHubからcloneしましょう。

varディレクトリーに移動
cd /var

varディレクトリーでgit clone
git clone https://github.com/GitHubユーザー名/laravel-app.git

SSLを設定する過程で、/etc/httpd/confにhttp-le-ssl.confという名前のファイルができているはずです。

コチラを編集してドキュメントルートを/var/laravel-app/publicに設定しましょう。
vi /etc/httpd/conf/http-le-ssl.conf

以下のようにドメインに合わせて設定  自身の設定をして下さい
ServerAdmin root@testtest.com
DocumentRoot /var/mymy/public
ServerName testtest.com

Mysqlのドライバーを入れる

 php -m | grep pdo pdo_sqlite

dnf install php-mysqlnd

php -m | grep pdo
pdo_mysql

laravelプロジェクトファイルに移動
例mymy

composer インストール
composer install

.env.exampleファイルをコピーして.envを作成
cp .env.example .env

アプリのキー作成
php artisan key:generate

Apacheの設定ファイル書き換え

設定ファイル/etc/httpd/conf/httpd.confの該当部分を下記のように書き換えます。

image.png

image.png

image.png

image.png

写真ではMyBBSになっています。

保存してApacheを再起動
systemctl restart httpd

以上です

参考にした記事です

0
0
0

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
0
0