中国石凳联盟 登录注册

【原创】 新版Apache三剑客(x64)命令行安装方法

rockage··2 回复·305 浏览

发表回复
本帖最后由 rockage 于 2016-8-30 11:40 编辑

一. 下载需要的安装包:
1. Apache 2.4 下载:
http://www.apachehaus.com/cgi-bin/download.plx
2. MySQL Community Server 5.7.14 (Community是社区版的意思,换句话说就是免费版)
http://dev.mysql.com/downloads/mysql/
3. PHP 5.6 下载 (分为Non Thread Safe(非进程安全)/Thread Safe(进程安全)两个版本, 用于IIS可选非安全版,用于本文的Apache应选安全版)
http://windows.php.net/download


二. 安装Apache
4. 解开Apache安装包 (注意:以下我讲的全部内容都以C:\Website为例)
修改C:\Website\Apache\conf\httpd.conf文件,
4.1 - 查找“Define SRVROOT”,把这行改为:
Define SRVROOT "C:/Website/Apache/"
4.2 - 查找“<IfModule dir_module>”,把它的下面一行改为:
DirectoryIndex index.html index.php
4.3 - 在任意位置添加以下三行:
PHPIniDir "C:/Website/PHP/"
LoadModule php5_module "C:/Website/PHP/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
存盘退出。
以管理员方式运行cmd (这一点非常重要) 【具体操作:我的电脑-> C: -> Windows -> System32 ->找到CMD.exe -> 右键 -> "以管理员身份运行"】
c:
cd\
cd website
cd apache
cd bin
httpd -k install
httpd -k start
至此,Apache安装成功!
打开浏览器,输入http://localhost测试,如果出现默认欢迎页面则成功,反之则显示找不到网页。
Apache一般来说安装不会有太多问题,唯一要记住的是运行cmd的时候需要管理员身份。
万一不幸地无法运行,可以先用httpd -k stop停止服务,然后再用httpd -k uninstall删除服务,重新再来。
另外,如果显示Errors reported here must be corrected before the service can be started.
这个不是错误,而是提示你如果这行下边出现错误则解决错误后再启动!

三. 安装MySQL
1. 将MySQL解开,Copy 进c:\Website,进入MySQL文件夹,手工新建一个空文件夹Data,
2. MySQL文件夹下面有一个my-default.ini文件,
Copy一份,并改名为my.ini
3. 修改my.ini:
basedir="c:/website/mysql/"
datadir="c:/website/mysql/data/"
4. 以管理员方式运行cmd (这一点非常重要)
c:
cd\
cd website
cd mysql
cd bin
mysqld --initialize -insecure
mysqld -install
net start mysql
最后,将mysql\lib下的libmysql.dll 拷贝到 apache\bin 下
至此,MySQL安装成功!
如遇到问题,一般来说有以下几个导致原因:
1. 没有用管理员方式运行cmd
2. 没有创建data文件夹
3. data文件夹必须是空的,里面不能有任何东西,否则也会报错
4. mysqld 必须先initilize(初始化) 然后才能 install,倒过来会报错
5. 有一些网上的教程在初始化的时候用的是mysqld --initialize这条命令,结果空密码就不能登录了,报1045错误,此处一定记得要加上-insecure选项。
5. 如果过程中出现问题,可以用mysqld -remove , Net Stop Mysql或者Windows命令sc delete mysql删除MySQL服务,然后重头再来。

四. 安装PHP
1. 解开安装包,Copy 进c:\Website
2. 修改c:\website\php\php.ini
2.1、查找extension=php_mbstring.dll , 将前面的;号去掉 (相当于取消注释)
2.2、查找extension=php_mysql.dll , 将前面的;号去掉
2.3、查找extension=php_mysqli.dll, 将前面的;号去掉
2.4、查找 Directory in which the loadable extensions (modules) reside.
将On windows下面那行改为:
extension_dir = "c:\website\php\ext"
3. 验证PHP安装
随便编辑一个文本文档,输入以下内容:
<?php
phpinfo();
?>
存盘,文件名为php.php,保存到C:\Website\Apache\htdocs中 (这也是Apache的网页文件主目录)
打开浏览器,输入:http://localhost/php.php
这是一个PHP安装的探针程序,正常情况下将会显示大量的信息,页面也比较长,但如果这个页面显示不出来,
或者直接把我们编辑那段代码原封不动地显示出来了,则表示错误。
至此服务器环境(Apache + MySQL + PHP)就安装完毕了!



接下来要安装的项目都不是必需的,可以选择性安装:
一. 安装phpMyAdmin
下载地址:https://www.phpmyadmin.net/
解压开,放到apache的htdocs中,并在phpmyadmin文件夹里面手工建立一个名为config的空文件夹 ,
浏览器输入:http://localhost/phpmyadmin/setup/index.php
如果报错,多半是因为之前php.ini里面的mbstring那行设置有问题,
如果页面显示正常,将会进入PhpMyAdmin的安装设置界面:
1. 新建服务器
2. 地址填localhost
3. 认证 -> 认证方式Config -> 用户root -> 密码为空
4. 应用 -> 退回主界面
5. 语言选 简体中文
6. 保存
7. 回到config文件夹,会发现一个config.inc.php的设置文件
8. Copy这个文件到phpMyAdmin主目录
9. 浏览器输入: http://localhost/phpmyadmin/index.php
10. 一切正常之后就可以删除config文件夹了,否则每次登录都会提醒你删除。 至此,phpMyAdmin 安装完毕!
如phpMyAdmin的功能正常,常规的比如建库,建表,建查询这些操作都没有问题,则说明整个服务器安装完美,
如果不幸报错,主要考虑从以下几点去解决:
1. PHP 方面: mbstring ( 多字节字符串) 模块没有安装成功
2. MySQL方面: 之前在初始化mysql的时候没有添加-insecure选项
3. phpMyAdmin自身方面:设置文件没有点“允许空密码”
4. phpMyAdmin自身方面:设置文件创建之后忘记copy到phpMyAdmin的主目录



点赞0 收藏
本帖最后由 rockage 于 2017-10-2 04:52 编辑

有时候,我们会从mysql的data文件夹里面强行copy一个数据库到别的机器,但是复制到其他机器之后发现就不能用了,提示Table ‘performance_schema.session_variables’ doesn’t exist错误,这时候用以下命令可解决:

解决的方法是:
第一步:在管理员命令中输入:
mysql_upgrade -u root -p

第二步:重新启动mysql的服务:
net stop mysql
net start mysql
再次运行mysql,就解决了。
点赞0 收藏
本帖最后由 rockage 于 2017-6-17 02:50 编辑

20160617新增 --- Apache部分
1)如果报VCRUNTIME140.dll未找到,那还需要去下载VC_2017,地址:http://www.apachelounge.com/download/ ,这个地址还有最新的apache版本下载。




20160617新增 --- MySQL部分
这次安装遭遇了很多问题,下面细细道来:
1)data文件夹不需要(且不能)手动建,在初始化的时候mysql会自动生成,如果之前存在data文件夹,必须先删除。
2)初始化不能用mysqld --initialize -insecure,而应该用mysqld --initialize,不知道为什么前者无法创建mysql文件夹,导致net start mysql的时候失败。
3)basedir和datadir必须设置,而且要用“/”反斜杠来表示路径,否则mysql会自动默认为C:\Program Files\Mysql XXXX这个路径,导致报:“找不到指定文件”这个错误。
4)这种安装法避免不了一个老毛病就是root账号无法用空密码登陆,那么还需要修改root密码,方法如下:
4.1 -> 修改my.ini,在[mysqld]后面加一行:skip-grant-tables ,意思是进入让mysql绕开权限表,进入一种类似“安全模式”的状态,保存后输入net stop mysql和net start mysql重启mysql
4.2 -> 在命令行状态,进入mysql的bin文件夹直接输入mysql,然后就可以用空密码进入系统了,然后依次输入:
4.2.1 ->use mysql;
4.2.2 ->update mysql.user set authentication_string = PASSWORD('123456') where User='root'; (这个地方相当坑爹,mysql的旧版本这个字段叫password,而现在改叫authentication_string了)
4.2.3 ->set password for root@localhost = password('123456'); (没这一行也不行,会报一个Alert password XXX错误)
4.2.3 ->FLUSH PRIVILEGES;
5)至此我们生成了一个root账号,密码是123456,此时别忘了回到my.ini将skip-grant-tables这行删掉或用#号注释掉,然后重启mysql,千万别忘了这一步,否则极不安全。
6) 现在开始解决用IP地址访问mysql的问题
6.1 -> 用NaviCat登陆localhost:3306
6.2 -> 找到user表,在root账号的前面有一个host字段,如无意外应该是127.0.0.1,将它改为% (百分号)
6.3 -> 确认修改后,回到my.ini,看看bind-address = 127.0.0.1这一行前面有没有#号(#号表示注释),如果有就去掉
6.4 -> 用Net命令重启mysql,这里不赘述方法了,上面讲了多次。
6.5 -> 用NaviCat,新创建一个链接,用本机的公网IP测试一下,如不成功,反复研究前面4点,特别要注意第3点,是个坑!






20160617新增 --- PHP部分
PHP倒是没什么变化,就是前面在和Apache挂接的时候用新版本号即可
点赞0 收藏
发表回复
发表回复