CentOS 7配置LAMP的详细步骤
CentOS是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。
CentOS 7的安装在这里不进行介绍(可自行Google),这篇文章主要介绍CentOS 7 最小化安装下LAMP环境的配置以及常见问题的解决方案。
一、 配置网络
安装完CentOS7后第一件事情就是配置服务器网络,可以使用ifconfig命令查看当前网络信息,但CentOS7最小化默认是不提供该命令的,我们可以执行以下命令安装ifconfig工具。
# yum install –y net-tools //完成后就可以使用ifconfig命令了
现在配置网络,注意需要root用户才能修改配置文件。
# cd /etc/sysconfig/network-scripts/
# cp ./ifcfg-enp0s3 ./ifcfg-enp0s3.bak //修改配置文件前进行备份
# vi ifcfg-enp0s3
然后根据需要进行修改,这里采用默认配置(如果“ONBOOT”为“no”,将其改为“ye”,这样在下次启动服务器时就会自动打开网络服务),配置完成后保存,重启网络服务。
# service network restart
二、 更新和升级CentOS
定期的更新升级,安装已有软件的最新版本以及系统安装升级,可以让你的服务器更安全稳定。
# yum –y update && yum –y upgrade
三、 修改ssh配置
CentOS 7 默认允许任何帐号透过ssh登入,为了不让root帐号被黑客暴力入侵,我们必须禁用root 帐号的ssh功能,事实上root也没必要使用ssh登入服务器,因为只要使用su (当然需要输入root的密码) 普通帐号便可以拥有root权限。
# vi /etc/ssh/ssh_config
将“#Protocol 1,2”改为“Protocol 2”,“#PermitRootLogin yes”改为“PermitRootLogin no”,添加“AllowUsers 你的普通账户名”,然后保存,重启ssh服务。
# vi systemctl restart sshd.service
四、 安装Apache HTTP服务器
httpd是Apache服务器的主程序,被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。接下来安装httpd。
# yum –y install httpd
完成后开启httpd服务,并且让其在重启系统时自启动。
# systemctl start httpd.service
# systemctl enable httpd.service
接着配置防火墙允许服务器被外部访问
# firewall-cmd --permanent --add-service=http --add-port=80/tcp
//apache默认为80端口,如果你修改了默认端口,这里要改为相应端口号
# firewall-cmd –reload
# systemctl restart httpd.service
五、 安装PHP
PHP是一种通用开源脚本语言,使用广泛,主要适用于Web开发领域。Linux操作系统下安装PHP非常简单,只需执行一下命令即可。
# yum –y install php
# systemctl restart httpd.service
六、 安装MariaDB数据库
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。在CentOS7下安装MariaDB,如下所示:
# yum –y install mariadb-server mariadb
# systemctl start mariadb.service
# systemctl enable mariadb.service
#firewall-cmd --add-service=mysql //允许MariaDB被远程访问
安装完成后记得修改数据库密码。
# set password for 'root'@'localhost' =password('密码');
# systemctl restart mariadb.service
七、 安装phpMyAdmin
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。安装方式如下:
# yum –y install phpmyadmin
八、总结
到此,CentOS 7 + LAMP环境就搭建完成了,可以将你的PHP网站部署到“/var/www/html”下,这样一台最基本的WEB服务器就搭建好了。当然,部署网站过程中可能会遇到一些问题,比如不能上传文件、上传文件类型大小限制等问题,以及要如何高效便捷地管理你的远程服务器,将在下一篇文章给大家介绍。
前面已经讲过了CentOS 7下LAMP环境的配置过程,一台简单的WEB服务器已搭建完成,但后期在网站部署的过程中也许会碰到各种各样头疼的问题。下面我们来讲讲怎么解决这些问题,以及如何高效地管理服务器和部署网站。
一、 表单上传文件限制
为了防止服务器遭到恶意攻击,以及用户上传非法的文件,导致服务器异常和带宽占用,我们必须对用户上传的文件进行过滤,Apache和PHP都默认在这方面进行了限制。那如何修改默认配置呢?接下来给大家讲讲CentOS7+LAMP下(其它LAMP环境的配置过程也类似)上传文件限制的修改过程。
首先,修改PHP的上传文件限制,只需修改php.ini配置文件即可。
# vi /etc/php.ini
根据你的需要修改以下内容:
upload_max_filesize = 允许上传的最大文件大小
post_max_size = 允许post的最大文件大小(一般与上面一项保持一致)
max_file_uploads = 允许单次文件上传个数
upload_tmp_dir = 上传临时文件目录(最好修改为“/var/www/tmp”,方便以后的权限配置)
注意:“upload_max_filesize”和“post_max_size”两项都需要进行配置
然后保存修改,如果修改了临时文件目录,别忘了给指定目录赋权限。
# chmod 777 临时文件目录
接下来,修改Apache的上传文件限制。
在 Fedora 和 Red Hat Enterprise Linux 上默认安装了SELinux,0SELinux是一种基于“域-类型”模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
为了安全考虑,SELinux会禁止Apache向系统中创建文件,那Apache怎样才能上传文件呢?关闭SELinux可以实现,但不建议这样做,这会大大削弱服务器的安全性。我们可以使用chcon命令修改SELinux安全上下文。修改方式如下:
- 步骤1:
# ls –Zd 上传文件目录(如“/var/www/html/upload”)
会看到以下内容:
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/upload
- 步骤二:使用chcon命令进行修改
# chcon –R –t httpd_sys_content_t_rw /var/www/html/upload
- 步骤三:使用第一步的命令,查看修改结果,如果内容如下则表示修改成功
drwxr-xr-x root root system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/upload
- 步骤四:修改上传文件目录主人和用户组
# chown –R apache.apache /var/www/html/upload
到此,限制上传文件的配置就结束了,现在你就可以通过表单方式上传文件了,如果还是不能上传,可以通过以下命令查看你上传的文件类型是否被支持,并修改使其支持你的文件类型。
# vi /etc/mime.types
二、 通过SecureCRT管理服务器
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。
在上一篇文章中已经对CentOS的SSH进行了配置,我们只须在Windows下使用SecureCRT进行连接即可。步骤如下:
-
步骤一:下载和安装SecureCRT(请自行谷歌下载安装)
-
步骤二:打开软件,点击“快速连接”
CentOS 7配置LAMP的详细步骤分享到这里就结束了,看完后有没有觉得挺有意思的。爱站技术频道网站提供了很多精彩的技术文章给大家,有需要可以随时来关注收藏下。
上一篇:搭建LAMP的步骤