CentOS使用本地yum源搭建LAMP环境图文教程
本文实例讲述了CentOS使用本地yum源搭建LAMP环境。分享给大家供大家参考,具体如下:
【准备工作】
配置防火墙,开启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端口通过防火墙
重启防火墙使配置生效
/etc/init.d/iptables restart
关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
重启系统
shutdown -r now
【安装Apache】
执行安装
yum -y install httpd
启动Apache
service httpd restart
或:
/etc/init.d/httpd start
Apache启动之后会提示错误Could not reliably determine the server’s fully qualifdomain name, using ::1 for ServerName,解决方法:
vi /etc/httpd/conf/httpd.conf
找到 #ServerName www.example.com:80
修改为 ServerName www.lws.com:80
(设置为自己的域名 或 ServerName localhost:80
)
:wq!#保存退出
设为开机启动
chkconfig httpd on
检查安装 访问主机地址 如图所示安装成功
修改Apache配置
vi /etc/httpd/conf/httpd.conf #建议使用ftp工具 修改之前做好备份
修改如下:
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行 修改为:DirectoryIndexindex.html index.htm Default.html Default.htm index.php Default.phpindex.html.var (设置默认首页文件,增加index.php)
KeepAlive Off #在76行 修改为:KeepAlive On (允许程序性联机)
MaxKeepAliveRequests 100 #在83行 修改为:MaxKeepAliveRequests1000 (增加同时连接数)
删除两个默认测试页
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
重启Apache
service httpd restart
或
/etc/init.d/httpd restart
【安装MySQL】
执行安装
yum -y install mysql mysql-server
启动MySQL
/etc/init.d/mysqld start
设为开机启动
chkconfig mysqld on
拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
为root账户设置密码
mysql_secure_installation
#回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y最后出现:Thanks for using MySQL设置完成
或者
mysqladmin -u root password '密码'
允许远程登录
mysql -u root -p
输入密码 输入mysql命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
退出mysql:exit
重启MySQL
service mysqld restart
【安装PHP5】
执行安装
yum -y install php
安装PHP组件(这里选择以下安装包,根据提示输入Y回车安装)
复制代码 代码如下:
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
修改PHP配置
vi /etc/php.ini #建议使用ftp工具 修改之前做好备份
修改如下:
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/
重启MySQL、Apahe
service mysqld restart
service httpd restart
(到此完成yum源搭建LAMP环境,我们可以查看一下各部分的安装版本)
查看Apache版本
httpd -v
查看PHP版本
php –v
查看MySQL版本
mysql -V
(注意大写)
希望本文所述对大家CentOS服务器配置有所帮助。
- 微信小程序:字体保持大小
- 在为知笔记中使用JQuery
- 在为知笔记中使用JQuery
- Python学习笔记(1):列表元组结构
- 6步创建一个通用机器学习模板
- Python学习笔记(2):数据库访问
- 学习Python语言,这些酷毙的工具你知道几个?
- Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录
- 免费体验国内首款写作机器人,就是这么溜!
- Python学习笔记(3):数据集操作-列的统一操作
- Python学习笔记(3):数据集操作-列的统一操作
- Python学习笔记(4):自定义时间类
- Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
- 微信小程序开发:设置消息推送
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- leetcode之单词替换
- KMP算法分析
- Spring Boot 系列:最新版优雅停机详解
- 前端学数据结构与算法(八): 单词前缀匹配神器-Trie树的实现及其应用
- 突击并发编程JUC系列-Locksupport 与 Condition
- 01.视频播放器框架介绍
- C#扫描器编写各种问题荟萃
- JavaScript中的浅拷贝与深拷贝
- 自己实现一个VUE响应式--VUE响应式原理
- 各种CSS居中方案
- JavaScript的内存管理
- 实现自己的Vue Router -- Vue Router原理解析
- G级大文件分割器 + 核心源码
- 前端也能学算法:JS版常见排序算法-冒泡,插入,快排,归并
- 前端也能学算法:JS版链表