WSL-Ubuntu安裝LAMP包含Composer

先決條件

可以先參考”WIN10安裝WSL

說明

LAMP代表Linux操作系統和ApacheWeb服務器, 數據存儲MySQL數據庫中及內容由PHP處理
Composer是PHP中的依賴管理工具

安裝Apache並啟動

更新

sudo apt update
sudo apt upgrade

安裝Apache

sudo apt install apache2

停止/開始/重啟

sudo service apache2 stop
sudo service apache2 start
sudo service apache2 restart

使用瀏覽器輸入” http://localhost”測試

http://localhost

在这里插入图片描述

安裝測試MariaDB(MySQL)

在WSL中輸入以下命令已安裝MariaDB

sudo apt install mariadb-server

停止/開始/重啟

sudo service mysql stop
sudo service mysql start
sudo service mysql restart

安裝完成後, 建議運行MariaDB預裝的安全腳本. 此腳本將刪除一些不安全的默認設置並鎖定對數據庫系統的訪問. 運行以下命令啟動腳本:

sudo mysql_secure_installation

將需要如下設定:
“Enter current password for root:”請求輸入root密碼, 如下圖:
在这里插入图片描述
尚未設置root密碼將為空, 所以按"Enter"既可.
“Set root password?”詢問是否設定ROOT密碼, 如下圖:
在这里插入图片描述
“y”需要設定, 並且輸入兩次. 其他都是輸入”y”即可, 如下
“Remove anonymous users?” 是否刪除匿名使用者
“Disallow root login remotely?” 是否禁止遠端根登錄
“Remove test database and access to it?” 是否刪除測試資料庫並訪問它
“Reload privilege tables now?” 是否立即重新載入許可權表, 所有更改將立即生效.
完成後, 測試是否可以輸入"sudo mysql"登錄到MySQL控制台

sudo mysql

MySQL控制台->查看使用者

select user from mysql.user;

在这里插入图片描述
MySQL控制台->創建使用者(test)密碼為(test)

GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY 'test';

Win可以使用Navicat連接測試, 如下操作
連接->MariaDB->SSH->設定SSH連接資料 主機(localhost)/帳戶/密碼
在这里插入图片描述
一般->設定MySQL連接資料 主機(localhost)/帳戶(test)/密碼(test)
在这里插入图片描述
退出 MySQL 控制台, 輸入"exit"

exit

在这里插入图片描述

安裝測試 PHP

安裝PHP

Apache提供內容, MySQL存儲和管理數據. PHP是設置的組件, 將處理代碼向最終用戶顯示動態內容. 除了php包之外, 還需要php-mysql, 允許PHP與MySQL數據庫進行通信的PHP模塊. libapache2-mod-php使 Apache處理PHP文件. 核心PHP包作為依賴自動安裝.
在WSL中輸入以下命令:

sudo apt install php libapache2-mod-php php-mysql php-xml

查看安裝版本:

php -v

在这里插入图片描述

安裝PHP更新版

安裝software-properties-common軟體管理器

sudo apt install software-properties-common

增加ondrej/php PPA, 它能讓你選擇更多php版本

sudo add-apt-repository ppa:ondrej/php

更新

sudo apt update
sudo apt upgrade

安裝PHP8.1

sudo apt install php8.1 libapache2-mod-php8.1 php8.1-mysql php8.1-xml

sudo apt install php8.1-common php8.1-opcache php8.1-mcrypt php8.1-cli
php8.1-gd php8.1-curl php8.1-mbstring

創建虛擬主機

Ubuntu的Apache默認啟用服務器塊目錄/var/www/html. 不修改 /var/www/html, 在/var/www中創建phpdomain目錄並保留/var/www/html.
創建目錄, WSL中輸入以下命令:

sudo mkdir /var/www/phpdomain

分配目錄的所有權給當前系統用戶(userwsl)

sudo chown -R userwsl:userwsl /var/www/phpdomain

Apache的sites-available目錄中創建一個新文件/etc/apache2/sites-available/phpdomain.conf(需要root)

<VirtualHost *:80>
    ServerName phpdomain
    ServerAlias www.phpdomain
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/phpdomain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

通過VirtualHost配置, 告訴Apache使用/var/www/phpdomain為 Web根目錄來為phpdomain提供服務. 沒有功能變數名稱下測試Apache, 可以開頭添加#刪除或註釋掉ServerName/ServerAlias.
啟用(phpdomain)/禁用(000-default) 虛擬主機:

sudo a2ensite phpdomain
sudo a2dissite 000-default

設定檔語法錯誤檢查

sudo apache2ctl configtest

測試PHP顯示

創建info.php文件” /var/www/your_domain/info.php”

<?php
phpinfo();

瀏覽器訪問"http://localhost/info.php"
在这里插入图片描述

測試PHP與MySQL數據庫

開啟MySQL

sudo mysql

創建新數據庫

CREATE DATABASE test_database;

創建 test_user 新用戶

只允許本機登錄host=localhost
允許遠端主機登陸則host=%

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test';

授予該用戶test_database數據庫的權限, 同時防止該用戶在服務器上創建或修改其他數據庫

GRANT ALL ON test_database.* TO 'test_user'@'%';

退出MySQL

exit

再次登錄MySQL

mysql -u test_user -p

確認可以訪問 test_database 數據庫

SHOW DATABASES;

在这里插入图片描述
創建 test_list測試表

CREATE TABLE test_database.test_list (
    item_id INT AUTO_INCREMENT,
    content VARCHAR(255),
    PRIMARY KEY(item_id)
);

測試表插入內容

INSERT INTO test_database.test_list (content) VALUES ("test 1 data");
INSERT INTO test_database.test_list (content) VALUES ("test 2 data");
INSERT INTO test_database.test_list (content) VALUES ("test 3 data");
INSERT INTO test_database.test_list (content) VALUES ("test data end");

查看數據

SELECT * FROM test_database.test_list;

在这里插入图片描述
退出MySQL

exit

創建一個PHP文件” /var/www/phpdomain/testmysql.php”

<?php
$user = "test_user";
$password = "test";
$database = "test_database";
$table = "test_list";

try {
    $db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
    echo "<h2>TODO</h2><ol>"; 
    foreach($db->query("SELECT content FROM $table") as $row) {
    echo "<li>" . $row['content'] . "</li>";
    }
    echo "</ol>";
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

瀏覽器訪問"localhost/testmysql.php"
在这里插入图片描述

安裝Composer

在想要安裝的路徑下, 按照以下命令安裝程序

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# 下載安裝程序到當前目錄
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# 驗證安裝程序 SHA-384, 您也可以在此處進行交叉檢查
php composer-setup.php
# 運行安裝程序
php -r "unlink('composer-setup.php');"
# 刪除安裝程序

將 composer.phar 移動到路徑中的目錄

mv composer.phar /usr/local/bin/composer

如果完成, 可以任意路徑下查看版本

composer --version

在这里插入图片描述

阿里雲Composer全量鏡像

網址: https://developer.aliyun.com/composer
所有项目都会使用该镜像地址:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config -g --unset repos.packagist

安裝PHP相關

Linux 安裝unzip命令

sudo apt install unzip

本篇完成>.<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值