役立つ情報
登録日: 2025-02-05   最終更新日: 2025-03-21

Ubuntu 20.4 に Git 管理された Laravel をインストールする方法について

前提条件

  • Ubuntu 20.04 が稼働していること
  • git、PHP、Composer、MySQL(または他のDB)がインストール済みであること
  • Apache または Nginx などのWebサーバーがセットアップ済みであること

必要なパッケージのインストール

以下のコマンドで必要なソフトウェアをインストールします。


sudo apt update
sudo apt install git
sudo apt install unzip
sudo apt curl
sudo apt php-cli \
         php-mbstring \
         php-xml \
         php-bcmath \
         php-curl \
         php-zip \
         php-tokenizer \
         php-mysql \
         php-common \
         php-json \
         php-intl
sudo apt composer

Gitリポジトリから Laravel をクローン

GitHub または他の Git サーバーから Laravel プロジェクトを取得します。


cd /var/www
sudo git clone https://github.com/your-repo/your-laravel-project.git
cd your-laravel-project

クローンした後、必要に応じてブランチを切り替えます。


git checkout <branch-name>

依存関係をインストール

プロジェクトディレクトリで composer install を実行します。


composer install --no-dev --optimize-autoloader

.env ファイルの設定

環境変数を設定するため、.env ファイルを作成します。


cp .env.example .env

.env ファイルを編集し、データベース情報などを設定します。


nano .env

以下のように設定:


APP_NAME="LaravelApp"
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://your-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_user
DB_PASSWORD=your_password

APP_KEY を生成します。


php artisan key:generate

データベースのマイグレーション

データベースを作成した後、Laravelのマイグレーションを実行します。


php artisan migrate --force

権限の設定

必要なディレクトリに適切な権限を付与します。


sudo chown -R www-data:www-data /var/www/your-laravel-project
sudo chmod -R 775 /var/www/your-laravel-project/storage /var/www/your-laravel-project/bootstrap/cache

Webサーバーの設定

Apacheの場合 Apache の設定ファイル /etc/apache2/sites-available/your-laravel-project.conf を作成:


<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /var/www/your-laravel-project/public

    <Directory /var/www/your-laravel-project>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

設定を有効化し、Apache を再起動:


sudo a2enmod rewrite
sudo a2ensite your-laravel-project.conf
sudo systemctl restart apache2

Nginxの場合 設定ファイル /etc/nginx/sites-available/your-laravel-project を作成:


server {
    listen 80;
    server_name your-domain.com;
    root /var/www/your-laravel-project/public;

    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

設定を有効化し、Nginx を再起動:


sudo ln -s /etc/nginx/sites-available/your-laravel-project /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Laravelのキャッシュクリアと設定


php artisan cache:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache

動作確認

ブラウザで http://your-domain.com にアクセスし、Laravelのトップページが表示されるか確認します。


Copyright 役立つ情報.net