**
一:MySQL安装
**
1.方法一:最简单的yum指令安装方法:sudo yum -y install mysql
2.方法二:自定义安装,指定用户与安装位置。这里着重讲解第二种。
步骤:
Sudo yum -y install wget #用于下载的软件wget
wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz
下载完成后移动至/usr/local/mysql中,所有的用户下载的软件建议都放在/usr/local中
Mkdir /usr/local/mysql
mv mysql-5.1.73-linux-i686-glibc23.tar.gz /usr/local/mysql
Tar xvzf mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql
Mv ./mysql-5.1.73-linux-i686-glibc23/* .
Rmdir ./mysql-5.1.73-linux-i686-glibc23
3:配置MySQL
创建一个mysql用户
useradd -s /sbin/nologin -M mysql
-s 指定shell 此时是不让登陆
-M 不创建家目录
mkdir -p /data/mysql #创建目录,用来存放数据库信息
chown -R mysql /data/mysql #更改权限
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
–user:指定了数据库的所属主
–datadir:指定了数据库安装目录
配置文件的更改(执行脚本时产生了配置文件在 /etc/my.cnf 而我们需要的是在 ./support-files/my-large.cnf)
cp ./support-files/my-large.cnf /etc/my.cnf
vim /etc/my.cnf
以下三个可以注释掉,因为这是日志文件,当insert/modify/…会记录操作,在主从配置时也会用到,此时不需要可以注释掉
#log-bin=mysql-bin
#binlog_format=mixed
#server-id = 1
修改启动脚本
cp ./support-files/mysql.server /etc/init.d/mysqld #拷贝
vim /etc/init.d/mysqld #将内容补全
basedir=/usr/local/mysql
datadir=/data/mysql
设为开机启动服务列表
chkconfig --add mysqld #添加到服务列表
chkconfig mysqld on
/etc/init.d/mysqld start #启动服务 service mysqld start
查看进程或端口 看是否启动成功
ps aux |grep mysqld #进程
netstat -lnp |grep mysqld #端口
**
二: Apache安装与配置
**
1:下载apache2
Mkdir /usr/local/apache2
Cd /usr/local/apache2
wget http://archive.apache.org/dist/httpd/httpd-2.2.34.tar.bz2
tar xvjf httpd-2.2.34.tar.bz2
2:安装与编译
配置参数
./configure --prefix=/usr/local/apache2 \ #指定安装位置
–with-included-apr \ #apache 依赖的包 支持httpd 可以跨平台
–enable-so \ #以动态共享模式安装
–enable-deflate=shared
–enable-expires=shared
–enable-rewrite=shared
–with-pcre #正则相关的库
配置过程可能出现error: mod_deflate has been requested but can not be built due to prerequisite failures
解决方法:yum install -y zlib-devel
下载完毕之后重新配置configure
编译apache2
Make
Make install
启动apache
/usr/local/apache2/bin/apachectl start
Apachectl其他选项
/usr/local/apache2/bin/apachectl -M #将apache的模块列出来
动态模块位置:/usr/local/apache2/modules/ #用到时加载,不用时不加
静态模块位置:/usr/local/apache2/bin/httpd #服务已启动,静态模块全部加载进来
/usr/local/apache2/bin/apachectl -l #只列举静态模块
/usr/local/apache2/bin/apachectl -t #查看配置文件有没有语法错误
配置文件位置:/usr/local/apache2/conf/httpd.conf
restart(原来进程杀死,在重新启动进程)
graceful (原来进程还在,只是重新加载配置文件
stop 关闭服务
在配置(100行附近)文件中加 ServerName localhost:80
/usr/local/apache2/bin/apachectl -t:syntax ok确定没问题
**
三:Php安装与配置
**
1:php下载
Wget http://cn2.php.net/get/php-5.4.36.tar.bz2/from/this/mirror
Tar xvjf php-5.4.36.tar.bz2
Cd ./php-5.4.36
2:Php配置
配置php
./configure --prefix=/usr/local/php
–with-apxs2=/usr/local/apache2/bin/apxs
–with-config-file-path=/usr/local/php/etc \
–with-mysql=/usr/local/mysql
–with-libxml-dir
–with-gd
–with-jpeg-dir \
–with-png-dir
–with-freetype-dir \
–with-iconv-dir
–with-zlib-dir
–with-bz2
–with-openssl
–with-mcrypt
–enable-soap
–enable-gd-native-ttf
–enable-mbstring
–enable-sockets
–enable-exif
–disable-ipv6
错误:error: xml2-config not found. Please check your libxml2 installation
yum list | grep libxml2 #通过此命令查看 我们需要安装的工具所依赖的包
如果搜不出信息:说明centos的rpm里面没有这个源,所以需要安装扩展源
rpm -ivh ‘http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm’
将所有的依赖包都下载
@base说明ok
再进行configure配置
error: Cannot find OpenSSL’s <evp.h>
Yum list | grep openssl
将所有依赖包都下载
error: Please reinstall the BZip2 distribution
Yum list | grep bzip2
将所有依赖包都下载
error: jpeglib.h not found
Yum list | grep jpeg
将所有依赖包都下载
error: png.h not found
Yum list | grep png
将所有依赖包都下载
error: freetype-config not found
Yum list | grep freetype
将所有依赖包都下载
error: mcrypt.h not found. Please reinstall libmcrypt(yum –y install epel-release)
Yum -y install libmcrypt
Yum list | grep mcrypt
将所有依赖包都下载
配置完毕!
编译
Make
Make install
安装完成后 我们发现在ls /usr/local/apache2/modules/ 多了一个libphp5.so
/usr/local/php/bin/php -m #PHP的静态模块,动态模块需要自己编译
/usr/local/php/bin/php -i #相关信息
安装完毕之后,需要重新启动apache,才能加载php模块
/etc/local/apache2/bin/apachectl graceful
打开游览器,输入localhost:80 跳转it works!索命apache正常
3: Php解析
Cat /etc/local/apache2/conf/httpd.conf -n | grep htdocs
发现网站访问的信息 是在 /usr/local/apache2/htdocs 目录下
Cd /usr/local/apache2/htdocs
Touch 1.txt
Echo hello > 1.txt
再从游览器打开localhost/1.txt
输出hello:普通文件解析成功
Php解析:
Touch 1.php
Vi 1.php
输入:<?php
echo “hello”;
?>
#(这三句要换行,每句单独一行)
再从游览器打开1.php:没有解析成功
/usr/local/php/bin/php 1.php:解析成功
说明apache不支持解析php,需要配置
编辑/usr/local/apache2/conf/httpd.conf
AddType application/x-httpd-php .gz .php #加上一行
DirectoryIndex index.html index.php #加上黑体部分
然后重新加载apache的配置文件 -t graceful
将1.php的内容改为
<?php phpinfo(); ?>