Home > CentOS, LAMP, Ubuntu > CentOS下LAMP环境安装笔记

CentOS下LAMP环境安装笔记

之前是用的自己熟悉点的Ubuntu 10.04。还是desktop的。前几天服务器出现几次无故死机,然后怀疑是系统不适合服务器硬件。跟机房托管人员沟通后,决定换CentOS。今天就在上面配置下LAMP。

1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件。
yum -y install httpd php mysql mysql-server php-mysql

2. 配置开机启动服务
/sbin/chkconfig httpd on #设置apache开机启动
/sbin/chkconfig mysqld on #设置mysql开机启动
/sbin/chkconfig –add mysqld #在服务清单中添加mysql服务
/sbin/service httpd start #启动httpd服务
/sbin/service mysqld start #启动mysql服务

3.设置mysql数据库root帐号密码。
mysqladmin -u root password ‘new_password’ #引号内填密码

4. 安装php5.2
安装php5.2 主要原因在于 php5.1没有 json_encode / json_decode 函数,默认也没有mb_string。而自己尝试在php5.1上安装json模块不成功。参考:http://wiki.centos.org /HowTos/PHP_5.1_To_5.2
大概说下步骤:
新建一个文本文件 /etc/yum.repos.d/CentOS-Php.repo
写入内容:

[c5-php5.2]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

保存文件,然后
yum update

就装好了。重启httpd生效:
service httpd restart

5. 打开非标准端口
附件往往会放在一个非标准端口提供下载。而CentOS默认只开标准端口,如80。所以需要自己手动修改iptables规则。比如开8080,在 /etc/sysconfig/iptables 文件中加入一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

重启iptables,重新加载规则:
service iptables restart

参考:http://www.cyberciti.biz/faq/howto-rhel-linux-open-port-using-iptables/

6. 配置httpd
这个跟ubuntu 上的apache类似,需要注意的是

NameVirtualHost *:80

指令。配置虚拟主机必备。

7. 补充
服务器貌似是被SYN Flood攻击。ubuntu desktop再不稳定也不至于一天死个两三次。今天局域网测试了SYN Flood,CentOS也挡不住的,得配个防火墙。
上次测试了下,貌似机房有抵御SYN Flood攻击的能力。比较麻烦的是那种,建立tcp连接之后不干事的请求。这种也不会有apache日志记录,目前还没办法分析是哪些IP发起的攻击。而且,由于有不少是移动网络访问,限制单IP连接数,可能会封掉移动网络的网关IP。

8. SELinux 配置

SELinux 全称是Security Enhanced Linux,是一个访问控制系统。CentOS上有安装并默认了规则。其中有一条默认规则是不让httpd做远程连接。处理这个问题有两个办法,第一是修改规则,把远程连接打开:

setsebool -P httpd_can_network_connect=1

第二种是关闭SElinux 对httpd的控制:

setsebool -P httpd_disable_trans 1

上次迁移discuz论坛就遇到了这个问题,导致附件上传不上服务器。参考 http://www.linuxquestions.org/questions/red-hat-31/centos-5-3-php-ftp_connect-working-command-line-only-758922/ 文中的评论。

 

本文最后更新:2010 Aug 13

Advertisements
Categories: CentOS, LAMP, Ubuntu
  1. January 5, 2015 at 11:08 am

    That adessreds several of my concerns actually.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: