当前位置:   article > 正文

WSL-Ubuntu安裝LAMP包含Composer_wsl 安装 composer

wsl 安装 composer

先決條件

可以先參考”WIN10安裝WSL

說明

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

安裝Apache並啟動

更新

sudo apt update
sudo apt upgrade
  • 1
  • 2

安裝Apache

sudo apt install apache2
  • 1

停止/開始/重啟

sudo service apache2 stop
sudo service apache2 start
sudo service apache2 restart
  • 1
  • 2
  • 3

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

http://localhost

在这里插入图片描述

安裝測試MariaDB(MySQL)

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

sudo apt install mariadb-server
  • 1

停止/開始/重啟

sudo service mysql stop
sudo service mysql start
sudo service mysql restart
  • 1
  • 2
  • 3

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

sudo mysql_secure_installation
  • 1

將需要如下設定:
“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
  • 1

MySQL控制台->查看使用者

select user from mysql.user;
  • 1

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

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

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

exit
  • 1

在这里插入图片描述

安裝測試 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
  • 1

查看安裝版本:

php -v
  • 1

在这里插入图片描述

安裝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
  • 1

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

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

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

sudo a2ensite phpdomain
sudo a2dissite 000-default
  • 1
  • 2

設定檔語法錯誤檢查

sudo apache2ctl configtest
  • 1

測試PHP顯示

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

<?php
phpinfo();
  • 1
  • 2

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

測試PHP與MySQL數據庫

開啟MySQL

sudo mysql
  • 1

創建新數據庫

CREATE DATABASE test_database;
  • 1

創建 test_user 新用戶

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

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

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

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

退出MySQL

exit
  • 1

再次登錄MySQL

mysql -u test_user -p
  • 1

確認可以訪問 test_database 數據庫

SHOW DATABASES;
  • 1

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

CREATE TABLE test_database.test_list (
    item_id INT AUTO_INCREMENT,
    content VARCHAR(255),
    PRIMARY KEY(item_id)
);
  • 1
  • 2
  • 3
  • 4
  • 5

測試表插入內容

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");
  • 1
  • 2
  • 3
  • 4

查看數據

SELECT * FROM test_database.test_list;
  • 1

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

exit
  • 1

創建一個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();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

瀏覽器訪問"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');"
# 刪除安裝程序
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

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

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

composer --version
  • 1

在这里插入图片描述

阿里雲Composer全量鏡像

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

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

取消配置:

composer config -g --unset repos.packagist
  • 1

安裝PHP相關

Linux 安裝unzip命令

sudo apt install unzip
  • 1

本篇完成>.<

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/53634
推荐阅读
相关标签
  

闽ICP备14008679号