专栏首页刘远飞的专栏CentOS6.5系统yum安装LAMP环境
原创

CentOS6.5系统yum安装LAMP环境

准备篇

1、配置防火墙,开启80端口、3306端口
[root@tiejiang ~]# vim /etc/sysconfig/iptables 
	-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       //允许80端口通过防护墙
	-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  // 允许3306端口通过防火墙
[root@tiejiang ~]# /etc/init.d/iptables restart        //最后重启防火墙使我们上面的配置生效
2、关闭 selinux
[root@tiejiang ~]# vim /etc/selinux/config
    SELINUX=enforcing 修改为 SELINUX=disabled
    SELINUXTYPE=targeted 修改为 #SELINUXTYPE=targeted
[root@tiejiang ~]# reboot    //重启系统

安装篇

1、安装apache
[root@tiejiang ~]# yum -y install httpd    //安装apache服务
[root@tiejiang ~]# /etc/init.d/httpd start    //启动apache
	ps:正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName
	 解决办法:
	[root@tiejiang ~]# vim /etc/httpd/conf/httpd.conf 
    找到#ServerName www.example.com:80  修改为 ServerName localhost:80    //这里也可以写自己的域名,没有域名就写localhost
[root@tiejiang ~]# chkconfig httpd on    //设为开机启动
[root@tiejiang ~]# /etc/init.d/httpd restart    //重启apache
2、安装mysql
[root@tiejiang ~]# yum install mysql mysql-server mysql-devel -y    //安装mysql数据库必要服务
[root@tiejiang ~]# /etc/init.d/mysqld start    //启动mysql
[root@tiejiang ~]# chkconfig mysqld on    //设为开机启动
[root@tiejiang ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf    //拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
[root@tiejiang ~]# mysql_secure_installation    //为root帐户设置密码
回车,根据提示输入"y"。输入2次密码,回车。根据提示一路输入"y" 最后出现"Thanks for using MySQL!"  mysql密码设置完成,重新启动mysql
[root@tiejiang ~]# /etc/init.d/mysqld restart    //重启
3、安装php5
[root@tiejiang ~]# yum -y install php    //yum安装php软件
[root@tiejiang ~]# yum -y 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    //这里选择以上安装包进行安装
[root@tiejiang ~]# /etc/init.d/mysqld restart    //重启mysql
[root@tiejiang ~]# /etc/init.d/httpd restart    //重启apache

配制篇

1:配置apache
[root@tiejiang ~]# vim /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!    //保存退出
[root@tiejiang ~]# /etc/init.d/httpd restart    //重启
[root@tiejiang ~]# rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html    //删除默认测试页
2、php配置
[root@tiejiang ~]# vim /etc/php.ini
    date.timezone = PRC #在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 = Off #在432行 禁止显示php版本的信息
    magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
    short_open_tag = ON #在229行支持php短标签
    open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
    :wq!    //保存退出
[root@tiejiang ~]# /etc/init.d/mysqld restart    //重启mysql
[root@tiejiang ~]# /etc/init.d/httpd restart    //重启apache

测试篇

[root@tiejiang ~]# cd /var/www/html
[root@tiejiang ~]# vi index.php #输入下面内容
	< ?php
	phpinfo();
	? >

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!

注意:apache默认的程序目录是/var/www/html

权限设置:chown apach1

至此,Linux安装配置LAMP服务器(Apache+PHP5+MySQL)教程完成!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux 内存管理初探

    本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。

    郑剑
  • linux、pthread、qemu 的一次 pthread create 失败的分析

    qemu 因为 pthread create 失败而发生了 crash 。这种类型的问题比较少见,这里记录一下问题的分析过程以及解决思路。

    皮振伟
  • Linux 的进程间通信:文件和文件锁

    我们首先引入文件进行 IPC ,试图先使用文件进行通信引入一个竞争条件的概念,然后使用文件锁解决这个问题,从而先从文件的角度来管中窥豹的看一下后续相关 IPC ...

    邹立巍
  • 吴锦华 / 明鑫 : 用户态文件系统 ( FUSE ) 框架分析和实战

    用户态文件系统(filesystem in userspace, 简称 FUSE),它能使用户在无需编辑和编译内核代码的情况下,创建用户自定义的文件系统。

    Linuxer
  • linux 根分区的空间去哪里了 ?记一次根分区满的服务故障排查记录

    linux 根分区的空间去哪里了 ?记一次根分区满的服务故障排查记录。我的排查思路是先找占用没有占用,找占用的文件句柄。

    莫韵
  • 【ES私房菜】收集 Linux 系统日志

    ES环境已经就绪,我们需要先调通一类简单日志作为数据上报全链路的试运行。恰好Linux系统日志就是这样一个角色,随处可见,风险可控。这里,我们选择了2种Linu...

    张戈
  • 手把手教你如何优化linux服务器

    服务器的优化是我们最小化安装系统后应该做的事情,下面是一些常见的基本的优化服务器的方法。关闭不需要的服务。列出需要启动的的服务crond、network、ssh...

    潘嘉兴
  • Linux Kernel 4.11 发布

    4月30日,Linus Torvalds 在内核邮件列表上宣布释出 Linux Kernel 4.11。

    云加社区专栏
  • 宋宝华:LEP ( Linux 易用剖析器 ) 是什么,为什么以及怎么办 ( 1 )

    LEP是 Linuxer 之 LEP 项目组(Barry Song,Mac Xu,陈松等以及陈莉君老师)正在致力于打造的一个开源项目,本文是 LEP 文档《 L...

    Linuxer

扫码关注云+社区

领取腾讯云代金券