分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
准备;
首先进入/usr/local/目录
#cd /usr/local
删除所有安装过的PHP MysqL apache 以及libxml
首先查看目前 /usr/local目录下面的内容
#ls –l
如果看到PHP5 PHP apache2 apache MysqL MysqL5 libxml libxml2字样的目录都将其删除具体命令如下
#rm –rf libxml2 删除libxml2目录
进入home目录
#cd /home
删除已经解压缩的的安装程序
首先查看已经解压缩了那些程序
#ls –l
注意蓝色的字样的都为已经解压缩的目录
将其删除
如:
#rm –rf http-2.2.11
#rm –rf PHP-5.2.3
#rm –rfMysqL-5.0.41-linux-i686
#rm –rf libxml2-2.6.30
删除完毕后,最好重新启动下linux操作系统
#reboot
1:安装apache2。
1. 进入/home目录(如果虚拟机的,先从别的地方拷到这个目录home/xxxx/下)
# cd /home
2. 对apache2安装文件包进行解压缩 解压httpd-2.2.11.tar.gz
#tar –zvxf httpd-2.2.11.tar.gz
解压完毕后,进入httpd-2.2.11目录
# cd httpd-2.2.11
3 . 在/usr/local/下面创建一个要安装过去的目录apache2
# mkdir –p /usr/local/apache2
4 .配置安装环境( 设置apache的安装路径)
# ./configure--prefix=/usr/local/apache2 --enable-modules=so–enable-rewrite
(--enable-dav 安装mod_dav模块);
5 .编译(make)和安装(make install)
# make; make install
编译安装完毕后启动apache2服务器
#/usr/local/apache2/bin/apachectl -k start
用浏览器查看http://127.0.0.1,得到it works,说明apache已经配置成功了。
系统启动时自动加载Apache:
1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/httpd
2.cp/usr/local/apache/bin/ httpd /etc/rc.d/init.d/httpd
3.可以用servicehttpd start启动
正常启动: /usr/local/apache2/bin/httpdstart apaceh启动
/usr/local/apache2/bin/apachectlstop 停止
/usr/local/apache2/bin/apachectlrestart 重启
6. apache以指定的用户运行;
安装的时候,apache自动以daemon用户运行。如果想以自定义用户如www-data运行:
$ useradd www-data
$ vi httpd.conf
user daemon 改为 user www-data
group daemon 改为 group www-data
2:安装MysqL
2.1 MysqL resource的安装
进入home目录
#cd /home
# tar -zvxfMysqL-5.0.41-linux-i686.tar.gz
#cd /home/hguisu/MysqL-5.0.14
./configure--prefix=/usr/local/MysqL
编译,进行安装:
make && make install
2.2 MysqL binary的安装
进入home目录
#cd /home
# tar -zvxf MysqL-5.0.41-linux-i686.tar.g
#移动解压缩的内容到要安装的目录
#mv MysqL-5.0.41-linux-i686 /usr/local/MysqL)
(cp /home/hguisu/MysqL-5.0.41-linux-i68/* /usr/local/src/MysqL
# groupadd MysqL --应该已经存在了
#useradd –d/usr/local/MysqL/data –s /sbin/nologin –g MysqL MysqL --应该已经存在了
进入/usr/local/MysqL目录中
#cd /usr/local/MysqL
# chown -R root/usr/local/MysqL
# chown -R MysqL/usr/local/MysqL/data
# chgrp -R MysqL/usr/local/MysqL
# ./scripts/MysqL_install_db –user=MysqL --basedir=/usr/local/MysqL
(basedir是MysqL的安装目录)
由这个basedir参数指定二进制数据位置!
启动MysqL服务
#/usr/local/MysqL/bin/MysqLd_safe --user=MysqL &
如出现 Starting MysqLd daemon with databases from /usr/local/MysqL/data
代表正常启动MysqL服务了, 按Ctrl + C 跳出
设置自动启动
#cp./support-files/MysqL.server /etc/rc.d/init.d/MysqLd
若提示覆盖则按y
修改权限
#chmod 700/etc/rc.d/init.d/MysqLd
测试MysqL的安装
#/usr/local/MysqL/bin/MysqLadminping
#/usr/local/MysqL/bin/MysqLadminversion
进入MysqL:cd /usr/local/MysqL/bin ./MysqL执行,ctrl+c退出
8、为根用户创建密码
用SET PASSWORD命令
#/usr/local/MysqL/bin/MysqL -u root
MysqL> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
用MysqLadmin
./MysqLadmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
./MysqLadmin -u root password oldpass "newpass"
用UPDATE直接编辑user表
./MysqL -u root
MysqL> UPDATE user SET Password =PASSWORD('newpass') WHERE user = 'root';
MysqL> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
./MysqLd_safe --skip-grant-tables&
MysqL> UPDATE user SETpassword=PASSWORD("new password") WHERE user='root';
MysqL> FLUSH PRIVILEGES;
我只测试了前2种,第三种不知道怎么样
错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方法:
由于MysqL 默认的MysqL.sock 是在/var/lib/MysqL/MysqL.sock,但linux系统总是去/tmp/MysqL.sock查找,所以会报错
[root@localhost ~]# find / -name MysqL.sock
/var/lib/MysqL/MysqL.sock
1.直接指定MysqL通道
[root@localhost ~]# MysqL --socket=/var/lib/MysqL/MysqL.sock
Welcome to the MysqL monitor. Commands end with ; or /g.
Your MysqL connection id is 2 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
2. 创建符号连接:
为MysqL.sock增加软连接(相当于windows中的快捷方式)。
ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock
eg:
root@localhost ~]# MysqL
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/tmp/MysqL.sock' (2)
[root@localhost ~]# ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock
[root@localhost ~]# MysqL
Welcome to the MysqL monitor. Commands end with ; or /g.
Your MysqL connection id is 3 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
我觉得这两个方法挺好用的
2.3 apt-get安装:
apt-get install MysqL-serverapt-get install MysqL-server-core-5.1
配置文件:/etc/MysqL/my.cnf
启动文件位置:/etc/init.d/MysqL
执行文件:/usr/bin
启动:/etc/init.d/MysqL start 或者service MysqL restart
问题:远程访问局域网内的MysqL时出现ERROR 2003 (HY000): Can't connect to MysqL server on (10061)
解决:my.ini(my.cnf)默认的bind-address是127.0.0.1,这样的话就算你创建的用户有可以remote访问的话 也不能通过-h 来访问。 MysqL只接受localhost。 所以把bind-address屏蔽掉即可。
3:安装libxml2,PHP5必须有libxml2支持!
进入home目录
# cd /home
解压缩libxml2-2.6.30.tar.gz
# tar -zxflibxml2-git-snapshot.tar.gz
进入刚解压缩出来的文件目录
# cd libxml2-git-snapshot
配置安装目录信息
# ./configure –prefix=/usr/local/libxml2
【configure: error: cannot find macrodirectory `m4' 】
# mkdir/home/hguisu/libxml2-git-snapshot/m4 就OK 了。
编译和安装
# make; make install
rpm-ivhlibxml2-2.6.23-1.2.i386.rpm
rpm-ivh libxml2-devel-2.6.23-1.2.i386.rp
或者yum install libxml2-devel.x86_64
4 .安装PHP5
进入home目录
# cd /home
解压缩PHP-5.2.3.tar.gz
# tar -zvxf PHP-5.2.3.tar.gz
创建/usr/local/PHP安装目录
# mkdir /usr/local/PHP
进入刚解压缩出来的目录
# cd PHP-5.2.3
配置安装信息
# ./configure--prefix=/usr/local/PHP --with-apxs2=/usr/local/apache2/bin/apxs --with-MysqL=/usr/local/MysqL/ --with-libxml-dir=/usr/local/libxml2
(MysqL=/usr/local/MysqL/ 加载MysqL模块, --with-apxs2=/usr/local/apache2/bin/apxs配置http.conf,添加LoadModule)
编译安装
# make;make install
# cp PHP.ini-development/usr/local/PHP/lib/PHP.ini
5:重新配置apache2让他支持PHP。
如果安装PHP的时候,configure选项带有 --with-apxs2=/usr/local/apache2/bin/apxs,就不用以下这些手工配置了。# vi/usr/local/apache2/conf/httpd.conf
在vi中的命令状态(按esc可以到命令状态)按/AddType查找到下面内容
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容(注意vi命令模式下 按键盘上的i键 进入插入编辑状态)
AddType application/x-httpd-PHP .PHP
AddType application/x-httpd-PHP-source .PHPs
重启apache
#/usr/local/apache2/bin/apachectl stop
#/usr/local/apache2/bin/apachectl start
在/usr/local/apache2/htdocs目录里建一内容为 PHP文件info.PHP
#vi /usr/local/apache2/htdocs/info.PHP
进入vi环境后 按i进入编辑模式
输入一下内容
<?PHP
echo PHPinfo();
?>
打开一个浏览器窗口在地址栏输入
如果出现配置信息的页面,就证明整个环境配置成功.
6、问题
6.1、无法加载 MysqL 扩展,请检查您的 PHP 配置。
大体方法是进入PHP 的源码目录下的 ext/moduledir, 也就是你想要编译的模块的源码目录下, 然后以绝对 路径的方式调用已经编译好的PHP 的目录下的 bin/PHPize 这个程序.
1.进入PHP到源目录:
cd home/hguisu/PHP-5.3.2/ext/MysqL
2. 执行PHPize:/usr/local/PHP/bin/PHPize
这样, 就会在PHP-5.3.2/ext/MysqL 目录下, 产生一系列可以单独进行configure 和 make 的 文件 (如果要清理掉它们, 运行 /PHP/bin/PHPize --clean ).
3. 之后 我们运行:
./configure--with-PHP-config=/PHP/bin/PHP-config --with-MysqL
如果提示错误:configure: error: Cannot find MysqL header files under yes.
解决:在 ./configure 下参数指定 header file 的位置(即MysqL安装目录),加上如下语句:
–with-MysqL=/usr/local/MysqL
4. 编译make
5 .安装 make install
整个过程也就基本完成了.
注意, 编译好的模块, 一般是自动安装到大概这种关系的路径下 (我的是 bsd 系统, 别的系统或许不 一样):
/PHP/lib/PHP/extensions/no-debug-non-zts-20060613
另外, win 下编译好的模块扩展名一般是dll, 而 unix 之类的系统则通常为 so.
6.设置 PHP.ini
在PHP.ini加入:extension=MysqL.so,
设置扩展路径:extension_dir ="/usr/local/PHP/ext/".
把/PHP/lib/PHP/extensions/no-debug-non-zts-20060613/下的MysqL.so拷到/usr/local/PHP/ext/"
然后重启 http 服务器就行了
6.2、无法加载 mcrypt 扩展,请检查您的 PHP 配置。
解决:
安装 libmcrypt
下载libmcrypt-2.5.8.tar.gz
解压tar zxvf libmcrypt-2.5.8.tar.gz
配置./configure
编译 make
安装 make install
注意,这里配置的时候不需要指定安装位置,否则在以后步骤中可能出错
进入PHP的安装源文件,进入PHP-5.3.0/ext/mcrypt
这时可能说没有autoconf这个软件,就装一下apt-get install autoconf,当然自己编译也可以
然后配置./configure --with-PHP-config=/usr/local/PHP/bin/PHP-config
编译make
安装 make install
会出现提示说在某个文件夹里面产生了一个文件mcrypt.so,这时要把这个文件移动到extension_dir里面,具体extension_dir是那个,可以参照刚安装完PHP之后测试时显示的信息
然后重新编译PHP,回到PHP安装的(4)这时的配置参数要加一个--with-mcrypt
重新编译安装PHP,然后成功后,重启apache进行测试
6.3、找不到mbstring
解决:
进入PHP的安装源文件,进入PHP-5.3.0/ext/mbstring
运行:
然后配置./configure --with-PHP-config=/usr/local/PHP/bin/PHP-config
编译make
安装 make install
会出现提示说在某个文件夹里面产生了一个文件mbstring.so,这时要把这个文件移动到extension_dir里面,具体extension_dir是那个,可以参照刚安装完PHP之后测试时显示的信息
这次不用编译了,到PHP的配置文件,在extension里面添加extension=mbstring.so,然后保存后重新启动apache,如果没有达到效果,那么在后面添加绝对路径
6.4如果自己用libmcrypt、mhash、mcrypt编译mcrypt
那么记得前面个两个配置时要用默认配置,不要加参数,配置mcrypt 时安装到指定位置,这样方便重新编译PHP,如果在编译前面2个时用了指定位置,可能在编译mcrypt时出现以下问题
6.3.1
描述:
libmcrypt cannot be found
解决:
cp /usr/local/lamp_other/libmcrypt/lib/libmcrypt.*/usr/lib/
ln -s/usr/local/lamp_other/mhash/lib/libmhash.so.2 /usr/lib/libmhash.so.2
这里/usr/local/lamp_other/libmcrypt/就是安装libmcrypt的指定路径
6.3.2
描述:
"You need at least libmhash 0.8.15to compile this program.
这个问题不知道怎么解决,有的说在编译mcrypt时用LD_LIBRARY_DIR=<mhash安装路径> ./configure --prefix=/usr/local/mcrypt,不过我没有成功过
最直接的解决办法就是得前面个两个配置时要用默认配置,不要加参数
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。