作为一个Linux超级菜鸟来说,偶尔需要配置一下Web开发环境,每次都需要重新查资料,于是稍微记录一下,加深印象,另外也算是一篇笔记,下次不用到处去Google了。
该文章只是用于Web开发的测试环境,性能和安全完全没有认识,如果有人看到,请不要用于生产环境,对任何后果不负任何责任,嘿嘿。
目的
在CentOS上配置用于开发的Web环境,包含Apache, PHP, Mysql。
安装Apache
直接通过yum安装Apache,yum -y install httpd
安装好后,默认情况下, Apache 的配置文件 httpd.conf 文件在 /etc/httpd/conf/httpd.conf 位置,编辑配置文件,修改DocumentRoot、Directory 两处设置为你需要保存网站文件的位置。
安装Mysql
直接通过yum安装Mysql,yum -y install mysql
安装PHP
由于CentOS通过yum安装的PHP为5.1版本,我需要5.2.17版本来保证和线上的运行环境一致,所以自己下载PHP源码进行编译安装。
- 到 http://php.net 下载对应版本的源码到
/tmp/目录并解压。 - 进入解压后的目录
/tmp/php-5.2.17/ - 根据需求配置需要的模块
./configure --enable-mbstring --with-curl --with-gd --with-mcrypt --with-mysql --with-mysqli --with-apxs2=/usr/sbin/apxs - make
- make install
上面的语句肯定不会执行成功,因为缺少一大堆的依赖文件,configure: error: libpng.(a|so) not found.
当遇到这种提示时,需要安装libpng库,除此之外还需要安装开发包。yum -y install libpng libpng-devel,对于其它的依赖支持也同样处理。
上面的参数 –with-apxs2=url 可以让 PHP 找到 Apache 的配置详情,然后自动添加 Apache 支持。同样如果没有安装 httpd-devel,编译PHP的时候是找不到 apxs 的路径的。
好了,以上的配置安装都成功了后,现在写一个phpinfo()的php文件,然后访问 http://localhost 应该就可以看到 phpinfo 页面了。
如果看到的是PHP代码,到Apache的配置文件 httpd.conf 里加上PHP文件类型:AddType application/x-httpd-php .php。
在 phpinfo 页面可以看到PHP配置文件的目录和加载的配置文件。
Loaded Configuration File (已加载的配置文件)
Configuration File (php.ini) Path (配置文件所在的目录)
如果值为空则表示没有配置文件,需要更改PHP的配置的话,可以从php源码目录里将 php.ini-recommended 拷贝并重命名为 php.ini 到 Configuration File (php.ini) Path 指定的那个目录,然后进行修改。
如果发现编译安装好后又需要添加某个PHP插件?
- 进入PHP源码目录
- make clean
- ./configure 在原有的参数基础上再加上新加的参数
- make
- make install
其它相关配置
/etc/my.cnf 配置mysql参数,有的话不需要重复添加
[mysqld] #应该有这句了 default-character-set = utf8 #默认编码utf8 [mysql] #应该有这句,没有则添加上 default-character-set = utf8 #默认编码utf8
设置Mysql随系统启动
chkconfig mysqld on 随系统启动,通过 chkconfig --list mysqld 检验状态,2-5为on就OK
/etc/rc.d/init.d/mysqld start 启动mysql
一些 Mysql 语句:
show databases; 查看存在的数据库
use test; 连接使用数据库test
show tables; 查看数据库里的表
drop table test; 删除test表
drop database test; 删除某个数据库
delete from mysql.user where user=”; 删除匿名用户
set password for root@localhost=password(‘密码’) 设置root密码
grant all privileges on test.* test@localhost identified by ‘密码’ 建立对test数据库有完全操作权限的名为test的用户;
revoke all privileges on *.* from test@localhost; 取消test对数据库的操作权限
flush privileges; 刷新使生效
注意到了上面的语句中的用户都是test@localhost吧,表示该用户只能在localhost访问数据库
如果远程访问数据库,需要设置将host改为%; 或者通过GRANT语句另外授权帐号
一些PHP配置参数参考,也可以通过查看 ./configure 文件了解详细参数配置
./configure
–prefix=/usr/local/php php 安装目录
–with-apxs2=/usr/local/apache/bin/apxs
–with-config-file-path=/usr/local/php/etc 指定php.ini位置
–with-mysql=/usr/local/mysql mysql安装目录,对mysql的支持
–with-mysqli=/usr/local/mysql/bin/mysql_config mysqli文件目录,优化支持
–enable-safe-mode 打开安全模式
–enable-ftp 打开ftp的支持
–enable-zip 打开对zip的支持
–with-bz2 打开对bz2文件的支持
–with-jpeg-dir 打开对jpeg图片的支持
–with-png-dir 打开对png图片的支持
–with-freetype-dir 打开对freetype字体库的支持
–without-iconv 关闭iconv函数,种字符集间的转换
–with-libxml-dir 打开libxml2库的支持
–with-xmlrpc 打开xml-rpc的c语言
–with-zlib-dir 打开zlib库的支持
–with-gd 打开gd库的支持
–enable-gd-native-ttf 支持TrueType字符串函数库
–with-curl 打开curl浏览工具的支持
–with-curlwrappers 运用curl工具打开url流
–with-ttf 打开freetype1.*的支持,可以不加了
–with-xsl 打开XSLT 文件支持,扩展了libxml2库 ,需要libxslt软件
–with-gettext 打开gnu 的gettext 支持,编码库用到
–with-pear 打开pear命令的支持,php扩展用的
–enable-calendar 打开日历扩展功能
–enable-mbstring 多字节,字符串的支持
–enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
–enable-sockets 打开 sockets 支持
–enable-exif 图片的元数据支持
–enable-magic-quotes 魔术引用的支持
–disable-rpath 关闭额外的运行库文件
–disable-debug 关闭调试模式
–with-mime-magic=/usr/share/file/magic.mime 魔术头文件位置
cgi方式安装才用的参数
–enable-fpm 打上php-fpm 补丁后才有这个参数,cgi方式安装的启动程序
–enable-fastcgi 支持fastcgi方式启动php
–enable-force-cgi-redirect 同上 ,帮助里没有解释
–with-ncurses 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
–enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
mhash和mcrypt算法的扩展
–with-mcrypt 算法
–with-mhash 算法
–with-openssl openssl的支持,加密传输时用到的
–with-pcre-dir=/usr/local/bin/pcre-config perl的正则库案安装位置








