@
前言
這篇博客里面所使用到的電腦配置如下
/*------------------------------------------------------
服務器型號:DELL R710
CPU:E5530 * 2
RAM:16GB DDR3 1333 Mhz ECC
硬盤:320GB SATA *4 (組RAID 10)
陣列卡:H700
SystemOS:Windows Server Datacenter 2019 with GUI
-------------------------------------------------------*/
通過本篇博客你可以完成 MySQL 8.0.23 、Apache 2.4以及PHP 8.0.3的安裝。
並能夠完成這些組件之間的基本配置,可以讓你的網站/服務完成數據庫的訪問,通過其他計算機訪問你的網站,可以解決跨域問題。
MySQL 8.0.23 安裝
下載
到官方網站下載:https://dev.mysql.com/downloads/mysql/
目前的最新版本是MySQL 8.0.23
在Windows上有兩種安裝方式,一個是zip壓縮文件解壓然后配置,另一個是圖像化界面安裝。
這里選擇第一種方法安裝:
下載完成之后,通過FTP服務傳送到服務器上。
安裝
解壓到Program Files/MySQL
里面
添加一個叫做 mysql.ini
的文件,並在該文件里添加如下內容
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=path
# 設置mysql數據庫的數據的存放目錄
datadir=path\data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
其中的path要對應你的實際的安裝路徑
配置環境變量
在Windows Server DC版本里面(我估計Windows 10里面也是一樣的)
我的電腦 --》右鍵屬性 --》高級系統設置 --》環境變量
在系統環境變量里面添加一條新的記錄,內容如下(最后一條,一定是你的安裝路徑里面的 bin 目錄):
初始化MySQL
之后,初始化MySQL
在安裝路徑用管理員身份打開 CMD
mysqld --initialize --console
注意,這里會生成一個臨時的密碼,拷貝出來
找一個參考圖(我這里沒有截屏)
這個localhost 冒號后面的就是臨時密碼
緊接着,安裝MySQL
mysqld --install mysql
無報錯后啟動MySQL
net start mysql
這里第一安裝完成之后需要修改密碼
mysql -u root -p
這個時候用你的初始密碼登錄
用如下的指令修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要設置的新的密碼';
flush privileges;
退出,用新密碼登錄就OK了。
到此為止,MySQL就安裝完了
PHP8.0.3 安裝
下載
去官網下載 https://windows.php.net/download
切記要下載Thread Safe版本,不然后面不能夠連接Apache服務
下載完成后通過FTP服務上傳至服務器
這里我比較推薦直接將文件解壓到Program File里面(這里的文件夾名稱並不是這次解壓后的名字,因為原先安裝的是none Thread Safe版本,所以在我配置Apache服務器的時候發現缺少必要的組件,網上找了好久都沒有說是這個版本的問題,直到在Stack Overflow上看到了一篇帖子講的是如何配置PHP和Apache服務器,這才知道是版本的問題)
安裝
將php.ini.development
文件的文件名改為php.ini
(這里推薦先復制備份一下php.ini.development
文件)
之后在解壓路徑里面打開CMD,並運行如下的命令
php.exe -v
這里會輸出版本號,標明可以運行
配置環境變量
將解壓路徑添加到環境變量當中
重啟電腦,在隨機的一個路徑下啟動CMD窗口,運行如下命令
php -v
輸出版本號,到這標明了PHP已經正確安裝
Apache 2.4 安裝
下載
去官網下載:https://www.apachelounge.com/download/
這里選擇64位進行安裝(不會還真的有人的服務器運行着32位系統吧...)
就是Apache 2.4.46 Win64這個選項
安裝
下載完成之后,解壓文件
注意啊,這里有兩種解壓方法,一個是隨意找一個地方解壓,另外一個是直接解壓到C盤的根目錄。
這里我推薦直接解壓到C盤的根目錄,最簡單,不需要修改配置文件就可以運行Apache服務器,非常適合新手來操作,至於占用C盤空間這個問題...我的服務器只有一個分區所以不用考慮這個問題。
解壓完成的目錄內容如下所示(對不起我忘記截圖了。。。)
/*-------------------------------
* Apache24 文件夾
* -- Win64 VS16 -- 其他文件
* ReadMe.txt txt文件
-------------------------------*/
這里的ReadMe.txt里面有步驟來指引我們安裝、配置Apache服務器。
這里直接將Apache24
這個文件夾復制到C盤的根目錄。
如果你不想將該文件夾復制到C盤根目錄,也沒有關系。
我們用文本編輯器打開 Apache24\conf\httpd.conf
文件
搜索 Define SRVROOT ,然后把地址改為你的安裝目錄。這里需要注意一點!!!一定要把你的安裝路徑中的""換為"/",不然無效的!!!
啟動
進入你的安裝目錄,== 用管理員身份 ==啟動CMD,輸入如下命令
httpd.exe -k install
這里成功設置了開機自動運行
這個時候用快捷鍵 Win + R 輸入 service.msc 打開服務
若看到Apache2.4且啟動類型為自動,說明開機自動運行設置已經完成了。
我們可以在任務欄里面看到一個羽毛的圖標
雙擊圖標,就可以打開Apache監視器,這里可以控制Apache服務器的開啟、停止和重啟。
界面如下圖所示:
測試
在瀏覽器的地址輸入 localhost 並回車,即可顯示 It Works!,說明安裝成功!
放入我們自己的網頁
我們可以將安裝目錄下的htdocs里面的index.html替換成為我們自己的網頁內容,即可利用瀏覽器訪問了。
配置Apache、PHP、MySQL
<OS 10013> 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試
我在安裝開機自啟動服務的時候出現了這個報錯,提示內容是
make_sock: could not bind to address 0.0.0.0:80
因為我服務器上安裝了IIS,80端口已經被占用掉了。
這里我們需要打開Apache的配置文件。
配置文件在安裝目錄下 conf/httpd.conf
打開之后找到 Listen 80,這里將80改為88或者是其他的未被占用的端口,我這里配置改為了88端口
保存,然后再安裝開機自動運行服務。
之后,在Apache監視器里面重啟Apache服務,在瀏覽器里面訪問 localhost:88 ,發現可以運行,問題解決!
Apache不能被除本機外的其他計算機訪問
這里得有兩步操作,第一個,打開Apache配置文件,找到如下內容:
<Directory>
Require local
</Directory>
將 Require local 改為Require all granted。
如果你的配置文件里面不是這個內容,而是deny什么什么的,就把那一行改為Require all granted。
第二步,防火牆設置
控制面板 --》Windows 防火牆 --》高級設置
點擊入站規則,然后新建規則。
選擇 端口,下一步,選擇TCP,在特定本地端口后填寫你設置的Apache服務的端口(Apache配置文件的 Listen 處),然后下一步、完成就可以了。重啟電腦,問題解決。
讓 Apache 支持 PHP
第一步,修改 php.ini 文件
將extension_dir
后面改為你的安裝路徑並加上"/ext"
還有,可以根據自己的需要來進行一些模塊的添加(這個是我的添加的模塊,就是前面去掉";"的那些)
extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd
extension=gettext
;extension=gmp
extension=intl
;extension=imap
;extension=ldap
extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop
這里需要注意!!!
如果你的網站涉及到了MySQL的操作又不想出現下面的畫面
請一定要將extension=openssl
和extension=mysqli
前面的分號去除掉!!!
第二步,修改Apache配置文件
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
更改為
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
在你認為的合適的位置插入下面的這段內容(在所有的LoadModule的后面一行插入)
#php support
LoadModule php_module "PATH/php8apache2_4.dll"
<IfModule dir_module>
PHPIniDir "PATH/"
AddType application/x-httpd-php .php
AddType application/x-httpd-source .phps
</IfModule>
注意,這里是空格后加上.php
,PATH 是你的安裝路徑
還要解鎖幾個Module
圖片來源:
https://blog.csdn.net/qq_41189458/article/details/113624155?utm_term=apache24配置php8&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-0-113624155&spm=3001.4430
添加跨域(不添加這個會影響訪問數據庫的)
這些都配置完成之后,保存,重啟服務器。
總結
我這次安裝Apache服務器經歷了一整周,從Mac到Windows,踩了不少的坑,但也沒有踩完坑。當你按照步驟配置到了這一步,你就可以愉快的將你的網站掛到剛剛配置好的這台電腦里了。
技術是沒有盡頭的,願你在今后迎難而上,解決各種難題,這篇只是一個開頭,願你再接再厲。加油!!!技術人!!!
希望各路大神能在評論區指正!!!