2025年5月21日 星期三

Ubuntu 24.04 安裝 laravel 12 的過程記錄

一、系統更新:
sudo apt-get update
sudo apt-get upgrade

二、安裝解壓縮工具、wget 與 git
sudo apt-get install unzip zip wget git curl

三、安裝apache2
sudo apt-get install apache2

四、安裝php 8.4 、擴充包與 apache2 模組
//安裝軟體源拓展工具
sudo apt -y install software-properties-common apt-transport-https lsb-release ca-certificates
//安裝php 8.4 ppa
sudo add-apt-repository ppa:ondrej/php
sudo apt update
//安裝php 8.4 、擴充包
sudo apt-get install php8.4 php8.4-fpm php8.4-cli php8.4-mbstring php8.4-gd php8.4-xml php8.4-ldap php8.4-mysql php8.4-curl php8.4-zip php8.4-imap -y
//安裝php 8.4  apache2 模組
sudo apt-get install libapache2-mod-php8.4 -y

//檢查 php 版本
php -v

五、安裝 mariadb
sudo apt-get install mariadb-server -y
sudo -i
//設定安全相關
mysql_secure_installation

六、安裝composer
//下載composer
wget -c https://getcomposer.org/composer.phar

//將composer.phar設為可執行
chmod +x composer.phar

//移到/usr/local/bin,並改名composer,隨時可呼叫
sudo mv composer.phar /usr/local/bin/composer

//測試
composer

七、於html下安裝chcschool,放置在/home/webadmin/html/
cd /home/webadmin/
mkdir html
cd /var/www/
sudo mv html html2
sudo ln -s /home/webadmin/html /var/www/html    (此時 /var/www/ 有兩個目錄 html html2)
cd /home/webadmin/html/
mkdir mylaravel120
cd /home
sudo chmo 755 webadmin/

八、命令列建立資料庫mylaravel120與資料庫使用者“admin”,密碼“demo1234”。
//進入資料庫
sudo mariadb -u root -p
//建立資料庫mylaravel120與資料庫使用者“admin”,密碼“demo1234”
CREATE DATABASE mylaravel120 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER admin@localhost IDENTIFIED BY 'demo1234';
GRANT ALL PRIVILEGES ON mylaravel120.* TO admin@localhost;
FLUSH PRIVILEGES;
//確認admin的權限
SHOW GRANTS FOR admin@localhost;

九、安裝laravel 12.0
composer create-project laravel/laravel="12.0" --prefer-dist /home/webadmin/html/mylaravel120
//注意composer安裝會依據php的版本,php8.4最高只能安裝到laravel 12。
//若不指定版本,安裝最新版本如下指令:
composer create-project laravel/laravel --prefer-dist /home/webadmin/html/mylaravel120
//進入目錄mylaravel120
cd mylaravel120

//編輯.env

sudo nano .env
//內容要改
//預設採用sqlite,此時在這邊修改連結的資料庫
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mylaravel120
DB_USERNAME=admin
DB_PASSWORD=demo1234
//建立專案的資料庫
php artisan migrate

十、加入apache虛擬主機
$sudo nano /etc/apache2/sites-available/mylaravel120.conf 
寫入:
-------------------------------------------------------------------------------------
<VirtualHost *:80>
   ServerName mylaravel120.localhost

   ServerAdmin webmaster@localhost
   DocumentRoot /home/webadmin/html/mylaravel120/public


<Directory /home/webadmin/html/mylaravel120/public>
         Options -Indexes
         AllowOverride All
         Require all granted
   
</Directory>

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

-------------------------------------------------------------------------------------

//如果要取消原本80網頁
sudo a2dissite 000-default.conf
//啟用新網頁
sudo a2ensite mylaravel120.conf
sudo a2enmod rewrite
sudo service apache2 restart
//更改特定目錄擁有者為www-data,或777
cd /home/webadmin/html/mylaravel120/
sudo chown -R www-data storage/ bootstrap/cache/
sudo chmod -R 777 storage/ bootstrap/cache/

注意網站運行的重大設定
/etc/php/8.4/apache2/php.ini
sudo nano /etc/php/8.4/apache2/php.ini


資料來源:

沒有留言:

張貼留言

Laravel 12 Model 資料庫中的資料表,並提供與資料庫互動的介面

相關系列文章: 1. 在 windows 10 安裝 laravel 12 studentManagement環境與設定 2. laravel 12 route 路由 3. laravel 12 Blade Templates 網頁模版 4. laravel 12 Control...