@
目录
- 前言
- MySQL 8.0.23 安装
- 下载
- 安装
- 配置环境变量
- 初始化MySQL
- PHP8.0.3 安装
- 下载
- 安装
- 配置环境变量
- Apache 2.4 安装
- 下载
- 安装
- 启动
- 测试
- 放入我们自己的网页
- 配置Apache、PHP、MySQL
- <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试
- Apache不能被除本机外的其他计算机访问
- 让 Apache 支持 PHP
- 总结
前言
这篇博客里面所使用到的电脑配置如下
/*------------------------------------------------------
服务器型号: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
以一种访问权限不允许的方式做了一个访问套接字的尝试
我在安装开机自启动服务的时候出现了这个报错,提示内容是
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
添加跨域(不添加这个会影响访问数据库的)
这些都配置完成之后,保存,重启服务器。
总结
我这次安装Apache服务器经历了一整周,从Mac到Windows,踩了不少的坑,但也没有踩完坑。当你按照步骤配置到了这一步,你就可以愉快的将你的网站挂到刚刚配置好的这台电脑里了。
技术是没有尽头的,愿你在今后迎难而上,解决各种难题,这篇只是一个开头,愿你再接再厉。加油!!!技术人!!!
希望各路大神能在评论区指正!!!