1)、安装Apache
Apache软件的软件包名称叫做httpd,因此,要安装Apache软件,就使用下述命令:
[root@localhost ~]# yum install httpd
当出现提示的时候一路 y +回车就OK了
如上图所示,安装的Apache 软件版本为2.4版。根据红帽官方文档说明,RHEL 7 (或CentOS 7)上可用的Apache版本正是2.4版的。
安装完成后,Apache是以httpd服务的形式存在的。因此,要启动Apache并将其设置为开机启动,就使用命令:
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl enable httpd.service
然后,检查httpd服务状态:
# systemctl status httpd.service
如上图所示,“enabled”表示httpd服务已设为开机启动,“active(running)”则表示httpd服务正在运行中。
这样的话,HTTP协议就已被启动起来了,由于HTTP协议使用到tcp端口80,因此防火墙要放通tcp端口80:
[root@localhost ~]#w fireall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙以让更改立刻生效:
# firewall-cmd --reload
使用以下命令检查配置是否成功:
# firewall-cmd --list-all
如上图所示,tcp端口80已放通。
然后这个时候,就可以在物理机上使用浏览器来访问刚刚搭建的web服务器了。不过,因为这个时候还未创建任何页面,所以它显示的是Apache软件自带的测试页面:
通过命令ip addr查询当前系统的ip地址,得到ip地址后再物理机浏览器地址栏输入该ip地址
cat /var/log/messages | grep httpd
使用以下命令安装PHP软件:
# yum install php
从上图可以看到,安装的PHP版本为5.4版。
安装完成后,PHP会生成配置文件/etc/httpd/conf.d/php.conf,因为该配置文件在/etc/httpd/conf.d目录下,所以它会被Apache所读取。PHP还会生成配置文件/etc/httpd/conf.modules.d/10-php.conf,
该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。不过,PHP软件本身的配置文件其实是/etc/php.ini。该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。
不过,PHP软件本身的配置文件其实是/etc/php.ini。
(大家看一下配置文件的介绍就好,没有需要的话基本不用做任何修改,不过建议将php.ini中upload_max_filesize = 20M//上传文件所允许的最大值。可按照需要进行调整 的
值改的大一些,当你准备搭建一个wordpress网站时此值过小将限制你所上传的图片、视频等多媒体素材的大小)
下面介绍一下配置文件/etc/httpd/conf.d/php.conf:
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> //<FilesMatch 正则表达式>和</FilesMatch>:文件名与正则表达式相匹配的文件,将适用这里设定的语句。 //SetHandler:强制所有匹配的文件使用指定handler进行处理。 AddType text/html .php //设定扩展名为.php的档案的类型为text/html DirectoryIndex index.php //默认网页档名增加index.php php_value session.save_handler"files" php_value session.save_path "/var/lib/php/session"
下面介绍一下配置文件/etc/httpd/conf.modules.d/10-php.conf:
<IfModule prefork.c> LoadModule php5_module modules/libphp5.so </IfModule> //如果Apache使用的多处理模块(MPM)是prefork(默认),那么Apache就会加载LoadModule指定的模块(PHP模块)
最后,来看看配置文件/etc/php.ini。在该文件的开头处,有说明针对生产环境和开发环境,有一些设定值可以进行修改,以提高PHP的效能。假设该web服务器是用于生产环境的,将下面的这些设定值改成这样(或确认这些设定值是这样的):
display_errors = Off //当发生错误时,不将错误信息显示出来(到浏览器上) display_startup_errors = Off //不将PHP启动时发生的错误信息显示出来(到浏览器上) error_reporting = E_ALL &~E_DEPRECATED & ~E_STRICT //这一项设定PHP会告知的错误或信息类型 html_errors = On //当PHP显示或记录错误信息时,将该信息格式化成HTML格式 log_errors = On //这让PHP可以将错误信息日志记录到日志文件里 ignore_repeated_errors = On //忽略重复的错误信息 ignore_repeated_source = On //当忽略重复的错误信息时忽略信息源 post_max_size = 25M //PHP所允许的POST数据的最大值。可按照需要进行调整 file_uploads = On //允许文件上传,默认为On upload_max_filesize = 20M //上传文件所允许的最大值。可按照需要进行调整 memory_limit = 128M //PHP可用的最大内存。可按照需要进行调整
然后,重启httpd服务:
# systemctl restart httpd
为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:
其中的<?php ?>是PHP程序的语法,phpinfo ();则是PHP程序提供的一个函式库,该函式库可以显示出你这个web服务器的相关信息。然后,使用浏览器来访问服务器的这个文件,看看页面能不能正常打开。如果正常的话,应该可以看到下面这个页面:
测试完后,因为这个页面里面的信息还挺重要的,所以应该把phpinfo.php这个档案删除。
3)、安装MariaDB(从RHEL 7开始Red Hat公司推荐使用MariaDB替换MySQL)
#yum install mariadb-server mariadb
安装 MariaDB 后,启动数据库守护进程并使用 MySQLsecureinstallation 脚本来保护数据库(设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等)。
# systemctl start mariadb
# mysql_secure_installation
启动 MariaDB 数据库
MariaDB 安全设置
要测试数据库功能,使用 root 账户登录 MariaDB 并用 quit 退出。
mysql -u root -p MariaDB > SHOW VARIABLES; MariaDB > quit
到此为止所有的工作已经做完了,一个Linux服务器环境已经安装完毕