# 簡易網站架設 在資訊安全課程第二週及第三週的 Web 課程中我們嘗試許多對於網站的攻擊手法 但正所謂 **知己知彼,百戰百勝** 要攻擊別人的網頁,首先要知道網頁的架構 這裡透過架設簡單的網站,了解基本的網站架構,再未來做網頁攻擊能有更深層的理解 ## Linux 上架設網站 ### 下載 LAMP 這裡採用 LAMP Server + phpMyAdmin LAMP(Linux Apache MySQL PHP) 是Linux系統上的開源架站組合 因為架設簡單,所以作為練習應該十分足夠了 1. 更新 Ubuntu ```bash= sudo apt update && sudo apt upgrade && sudo apt dist-upgrade ``` 2. 安裝 tasksel 因為 tasksel 裡面就已經有包含了 LAMP ,所以就下載它吧! ```bash= sudo apt install tasksel ``` 3. 安裝 LAMP Server ```bash= sudo tasksel install lamp-server ``` 到這邊,打開 **http://127.0.0.1** 應該能看到 **Apache2 Ubuntu Default Page** ![](https://i.imgur.com/zGgTfPb.png) 接下來關於網頁的內容都會被放在 **/var/www/html/** 裡面 我們可以先進去看看,會發現到 `index.html` ,正是我們剛剛看到的 **Apache2 Ubuntu Default Page** 4. 查看 PHP 詳細資料 剛剛知道我們的網頁內容都會被放在 **/var/www/html/** 中 接下來我們要在這裡新增一個檔案 `info.php` :::info 記得要以 sudo 權限編輯,否則可能會因權限不足而無法新增檔案 ::: ```php= <?php phpinfo(); ?> ``` 新增完成後,打開到 **http://127.0.0.1/info.php** ,就可以看到 PHP 的相關資訊囉 ![](https://i.imgur.com/ZvGorBj.png) ### apache server 簡易指令 - 開啟 apache server ```bash= sudo service apache2 start ``` - 關閉 apache server ```bash= sudo service apache2 stop ``` - 重啟 apache server ```bash= sudo service apache2 restart ``` - 查看 apache server ```bash= sudo service apache2 status ``` ### 安裝 phpMyAdmin ```bash= sudo apt install phpmyadmin ``` 因為我們是採用 apache2 的環境,這邊選擇 **apache2** :::info 由於現在只能透過鍵盤操作,可以透過 `tab` 切換現在控制的區域 另外選取要使用 `空白鍵` ::: ![](https://i.imgur.com/MIH6HLH.png) 安裝過程中會要求我們輸入一組密碼,之後會用這組密碼登入 phpmyadmin ,使用者名稱預設為 `phpmyadmin` ![](https://i.imgur.com/Q5nt7Ih.png) ### 設定 SQL root 密碼 前面我們有設定過 phpmyadmin 的密碼,但是權限並不是最高的,當前唯有 root 帳號擁有最多權限 然而 root 的初始值為空字串,登入系統不允許密碼無輸入,所以這邊要設定 root 的密碼 ```bash= sudo mysql -u root mysql ``` 現在我們進入到 MySQL 的 shell ,讓root帳號啟用`mysql_native_password`插件,使其能夠擁有密碼,並且能使用密碼登入。 ```sql= UPDATE user SET plugin='mysql_native_password' WHERE User='root'; ``` 接下來重新載入特權表 ```sql= FLUSH PRIVILEGES; ``` 接下來設定 SQL root 密碼 ```bash= sudo mysql_secure_installation ``` 開啟 `VALIDATE PASSWORD` 插件,可以幫助我們檢查root密碼的安全性,避免被設置得太簡單而有安全上的疑慮。 輸入y,同意啟用 `VALIDATE PASSWORD` 插件。 再來要決定密碼的複雜度,這裡選擇 2 最後連續輸入兩次密碼就設定完成囉! :::info 密碼複雜度決定為 2 ,所以**密碼長度限制至少 8 碼**,並且**必須包含數字、英文大小寫字母和特殊字元** ::: 最後選項都輸入 `y` 即可 ### 使用 phpMyAdmin 最後開啟 **http://127.0.0.1/phpmyadmin** ![](https://i.imgur.com/srVvnH3.png) 使用剛剛設定的 root 密碼登入即可 ### 參考文章 https://magiclen.org/lamp/ ###### tags: `資訊安全補充講義`