CentOS 6.2安装配置LAMP服务器(Apache+PHP5+MySQL)

简介:

CentOS 6.2安装配置LAMP服务器(Apache+PHP5+MySQL)

 
准备篇:
 
1、配置防火墙,开启80端口、3306端口
   vi /etc/sysconfig/iptables
   -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
   -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################
 
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
  
/etc/init.d/iptables restart  #最后重启防火墙使配置生效
2、关闭SELINUX
   vi /etc/selinux/config
   #SELINUX=enforcing       #注释掉
   #SELINUXTYPE=targeted    #注释掉
   SELINUX=disabled         #增加
   :wq  保存,关闭
   shutdown -r now   #重启系统
 
 
安装篇:
 
 
一、安装Apache   
yum install httpd    #根据提示,输入Y安装即可成功安装 
/etc/init.d/httpd start  #启动Apache   
备注:Apache启动之后会提示错误:
      正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName       
解决办法:
      vi /etc/httpd/conf/httpd.conf   #编辑
      找到  #ServerName www.example.com:80
      修改为 ServerName localhost:80
      :wq!    #保存退出
chkconfig httpd on   #设为开机启动 
/etc/init.d/httpd restart  #重启Apache
二、安装MySQL
1、安装MySQL
      yum install mysql mysql-server
      询问是否要安装,输入Y即可自动安装,直到安装完成
      /etc/init.d/mysqld start   #启动MySQL
      chkconfig mysqld on   #设为开机启动
      cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf  #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
  
2、为root账户设置密码
      mysql_secure_installation
      回车,根据提示输入Y
      输入2次密码,回车
      根据提示一路输入Y
      最后出现:Thanks for using MySQL!
      MySql密码设置完成,重新启动 MySQL:
      /etc/init.d/mysqld stop   #停止
      /etc/init.d/mysqld start  #启动
      /etc/init.d/mysqld restart #重启
 
三、安装PHP5
1、安装PHP5
       yum install php
       根据提示输入Y直到安装完成  
 
2、安装PHP组件,使 PHP5 支持 MySQL
      yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
      这里选择以上安装包进行安装
      根据提示输入Y回车
      /etc/init.d/mysqld restart  #重启MySql
      /etc/init.d/httpd restart  #重启Apche
 
 
配置篇
 
一、Apache配置
vi /etc/httpd/conf/httpd.conf 编辑文件
   ServerTokens OS     在44行  修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
   ServerSignature On  在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本)
   Options Indexes FollowSymLinks  在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)

#AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)

   AllowOverride None  在338行 修改为:AllowOverride All (允许.htaccess)
   AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
 
  Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
   DirectoryIndex index.html index.html.var  在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (设置默认首页文件,增加index.php)
 
   KeepAlive Off   在76行 修改为:KeepAlive On (允许程序性联机)
 
   MaxKeepAliveRequests 100   在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数) 
:wq!  #保存退出
 
   / etc/init.d/httpd restart 重启
 
   rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html    #删除默认测试页
 
二、php配置
vi  /etc/php.ini   #编辑
  date.timezone =     #在946行 把前面的分号去掉,改为date.timezone = PRC
  disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
   #在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
  expose_php = On     #在432行 禁止显示php版本的信息 修改成 expose_php = Off
  magic_quotes_gpc = Off   #在745行 打开magic_quotes_gpc来防止SQL注入       magic_quotes_gpc = On  
  open_basedir = .:/tmp/  #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站
:wq!  #保存退出
/etc/init.d/mysqld restart  #重启MySql
/etc/init.d/httpd restart   #重启Apche
测试篇
 
 
cd  /var/www/html
vi  index.php   #新建index.php文件
<?php
phpinfo();
?>
:wq!
在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
注意:apache默认的程序目录是/var/www/html
权限设置:chown apache.apache -R /var/www/html
MySQL数据库目录是:/var/lib/mysql
权限设置:chown mysql.mysql -R  /var/lib/mysql



本文转自 kuangling 51CTO博客,原文链接:http://blog.51cto.com/kling/781958
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
11月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1666 69
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1104 87
|
10月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
4475 3
|
11月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
976 78
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
438 80
|
10月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2522 16
|
10月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
516 0
PHP和Mysql前后端交互效果实现
|
11月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
801 10
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
336 16
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
813 18