VMware虚拟机安装CentOS 7并搭建lamp服务器环境
2016-08-16 19:46
891 查看
此贴的目的是对今天的学习做一个总结、记录,方便日后的回顾学习,同时与大家分享经验希望能够对跟我一样初学Linux服务器的同学起到帮助作用!
首先是Linux服务器系统的选择,目前比较流行的系统版本有centos、Redhat、Ubuntu server等,初学者可能会在系统版本的选择上有所纠结,实际上对于初学者来说这些系统大同小异,操作上是近乎相同的,可以根据自己的能力和实际需要进行选择。如果有一定经济能力建议购买Redhat收费版,对于只是用于学习研究的同学建议使用centos作为替代,centos实际上与Redhat是非常相似的,其次也可以使用Ubuntu server等操作系统,基于个人喜好。
这里我选择使用centos7操作系统进行安装演示并并通过yum命令安装lamp环境。(yum的解释:http://man.linuxde.net/yum)
2) 、成功引导系统后,会出现下面的界面
界面说明:
Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障
这里选择第一项,安装CentOS 7,回车,进入下面的界面
选择语言:中文-简体中文(中国) #正式生产服务器建议安装英文版本
继续
选择-系统-安装位置,进入磁盘分区界面
选择-其它存储选项-分区-我要配置分区,点左上角的“完成”,进入下面的界面
分区前先规划好
swap #交换分区,一般设置为内存的2倍
/ #剩余所有空间
备注:生产服务器建议单独再划分一个/data分区存放数据
点左下角的“+”号
挂载点:swap
期望容量:2048
添加挂载点,如下图所示
继续点左下角的“+”号
挂载点:/
期望容量:18.43GB #剩余所有空间
添加挂载点,如下图所示
点左上角的“完成”,进入下面的界面
接受更改,进入下面的界面
开始安装 #注意“软件”-“软件选择”,默认是最小安装,即不安装桌面环境,可以自己设置。
建议选择最小安装即可,最小安装方式安装完成后开机即为命令行模式
进入下面的界面
选择-用户设置-ROOT密码,进入下面的界面
设置Root密码
如果密码长度少于8位,会提示要按“完成”两次来确认,安装继续
安装完成之后,会进入下面的界面
点重启
系统重新启动
进入登录界面
账号输入root 回车
再输入上面设置的root密码回车
系统登录成功
说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的!因此需要我们更改配置文件来开启网络(虚拟机 联网方式选择 桥接 方式)
用命令:cd /etc/sysconfig/network-scripts 按下 enter
然后输入ls 按enter
会出现下面几个文件。我们要找的就是图片中的箭头所指的。
然后用文本编辑工具打开,输入指令vi ifcfg-eno16777736 按下enter
会出现一些的键值对,而我们需要改的是箭头所指的,表示激活网卡。
然后按
i 键 进入编辑模式,将no 改成yes 然后按ESC键,再输入 :wq (wq表示保存并退出)
重启网卡: service network start就OK了
然后你就可以连接到网络了,可以安装一些你需要的包了。
配置完成后可以同过ping命令测试连通性 ,例如 ping -c 10 202.108.22.5(ping 百度首页的网址,ping次数为10次)
注:如果未指定次数将对该地址进行不间断ping;可通过Ctrl+C终止命令
Linux下ping命令详解:http://www.cnblogs.com/peida/archive/2013/03/06/2945407.html
在安装系统的过程中可能会有同学对Linux系统下的分区选择有所困惑,在这里做一个解释,方便大家理解:
http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html
同时介绍一下Linux系统下的目录结构:http://www.178linux.com/9736
[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服务状态:
[root@localhost ~]# systemctl status httpd.service
如上图所示,“enabled”表示httpd服务已设为开机启动,“active(running)”则表示httpd服务正在运行中。
这样的话,HTTP协议就已被启动起来了,由于HTTP协议使用到tcp端口80,因此防火墙要放通tcp端口80:
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙以让更改立刻生效:
[root@localhost ~]# firewall-cmd --reload
使用以下命令检查配置是否成功:
[root@localhost ~]# firewall-cmd --list-all
如上图所示,tcp端口80已放通。
然后这个时候,就可以在物理机上使用浏览器来访问刚刚搭建的web服务器了。不过,因为这个时候还未创建任何页面,所以它显示的是Apache软件自带的测试页面:
通过命令ip
addr查询当前系统的ip地址,得到ip地址后再物理机浏览器地址栏输入该ip地址
[root@localhost ~]# 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服务:
[root@localhost~]# systemctl restart httpd
为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:
其中的<?php ?>是PHP程序的语法,phpinfo ();则是PHP程序提供的一个函式库,该函式库可以显示出你这个web服务器的相关信息。然后,使用浏览器来访问服务器的这个文件,看看页面能不能正常打开。如果正常的话,应该可以看到下面这个页面:
测试完后,因为这个页面里面的信息还挺重要的,所以应该把phpinfo.php这个档案删除。
Red
Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。
安装 MariaDB 后,启动数据库守护进程并使用 mysqlsecureinstallation 脚本来保护数据库(设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等)。
[/code]
启动 MariaDB 数据库
MariaDB 安全设置
要测试数据库功能,使用 root 账户登录 MariaDB 并用 quit 退出。
[/code]
连接 MariaDB 数据库
RHEL 7.0 或者 CentOS 7.0 仓库默认没有提供 PhpMyAdmin 二进制安装包。如果你不适应使用 MySQL 命令行来管理你的数据库,你可以通过下面的命令启用 CentOS
7.0 rpmforge 仓库来安装 PhpMyAdmin。
选择合适的源地址来安装,参考方法:安装使用
EPEL 安装源。
到 EPEL 主页:
http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
找到 The newest version of ‘epel-release’ for EL7,点击打开新页面,复制 epel-release-7-5.noarch 的链接(数字可能有变化)。采用下面的方法直接安装:
首先是Linux服务器系统的选择,目前比较流行的系统版本有centos、Redhat、Ubuntu server等,初学者可能会在系统版本的选择上有所纠结,实际上对于初学者来说这些系统大同小异,操作上是近乎相同的,可以根据自己的能力和实际需要进行选择。如果有一定经济能力建议购买Redhat收费版,对于只是用于学习研究的同学建议使用centos作为替代,centos实际上与Redhat是非常相似的,其次也可以使用Ubuntu server等操作系统,基于个人喜好。
这里我选择使用centos7操作系统进行安装演示并并通过yum命令安装lamp环境。(yum的解释:http://man.linuxde.net/yum)
一、CentOS7的安装(素材资料整理自网络)
1)、通过VMware创建虚拟机(这一步不解释)2) 、成功引导系统后,会出现下面的界面
界面说明:
Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障
这里选择第一项,安装CentOS 7,回车,进入下面的界面
选择语言:中文-简体中文(中国) #正式生产服务器建议安装英文版本
继续
选择-系统-安装位置,进入磁盘分区界面
选择-其它存储选项-分区-我要配置分区,点左上角的“完成”,进入下面的界面
分区前先规划好
swap #交换分区,一般设置为内存的2倍
/ #剩余所有空间
备注:生产服务器建议单独再划分一个/data分区存放数据
点左下角的“+”号
挂载点:swap
期望容量:2048
添加挂载点,如下图所示
继续点左下角的“+”号
挂载点:/
期望容量:18.43GB #剩余所有空间
添加挂载点,如下图所示
点左上角的“完成”,进入下面的界面
接受更改,进入下面的界面
开始安装 #注意“软件”-“软件选择”,默认是最小安装,即不安装桌面环境,可以自己设置。
建议选择最小安装即可,最小安装方式安装完成后开机即为命令行模式
进入下面的界面
选择-用户设置-ROOT密码,进入下面的界面
设置Root密码
如果密码长度少于8位,会提示要按“完成”两次来确认,安装继续
安装完成之后,会进入下面的界面
点重启
系统重新启动
进入登录界面
账号输入root 回车
再输入上面设置的root密码回车
系统登录成功
说明:CentOS 7.0默认安装好之后是没有自动开启网络连接的!因此需要我们更改配置文件来开启网络(虚拟机 联网方式选择 桥接 方式)
用命令:cd /etc/sysconfig/network-scripts 按下 enter
然后输入ls 按enter
会出现下面几个文件。我们要找的就是图片中的箭头所指的。
然后用文本编辑工具打开,输入指令vi ifcfg-eno16777736 按下enter
会出现一些的键值对,而我们需要改的是箭头所指的,表示激活网卡。
然后按
i 键 进入编辑模式,将no 改成yes 然后按ESC键,再输入 :wq (wq表示保存并退出)
重启网卡: service network start就OK了
然后你就可以连接到网络了,可以安装一些你需要的包了。
配置完成后可以同过ping命令测试连通性 ,例如 ping -c 10 202.108.22.5(ping 百度首页的网址,ping次数为10次)
注:如果未指定次数将对该地址进行不间断ping;可通过Ctrl+C终止命令
Linux下ping命令详解:http://www.cnblogs.com/peida/archive/2013/03/06/2945407.html
在安装系统的过程中可能会有同学对Linux系统下的分区选择有所困惑,在这里做一个解释,方便大家理解:
http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html
同时介绍一下Linux系统下的目录结构:http://www.178linux.com/9736
二、CentOS 7系统安装lamp (Linux+Apache+MariaDB(取代MySQL)+PHP/PhpMyAdmin)环境
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服务状态:
[root@localhost ~]# systemctl status httpd.service
如上图所示,“enabled”表示httpd服务已设为开机启动,“active(running)”则表示httpd服务正在运行中。
这样的话,HTTP协议就已被启动起来了,由于HTTP协议使用到tcp端口80,因此防火墙要放通tcp端口80:
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙以让更改立刻生效:
[root@localhost ~]# firewall-cmd --reload
使用以下命令检查配置是否成功:
[root@localhost ~]# firewall-cmd --list-all
如上图所示,tcp端口80已放通。
然后这个时候,就可以在物理机上使用浏览器来访问刚刚搭建的web服务器了。不过,因为这个时候还未创建任何页面,所以它显示的是Apache软件自带的测试页面:
通过命令ip
addr查询当前系统的ip地址,得到ip地址后再物理机浏览器地址栏输入该ip地址
2)安装PHP
使用以下命令安装PHP软件:[root@localhost ~]# 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服务:
[root@localhost~]# 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)
RedHat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。
#yum install mariadb-server mariadb
安装 MariaDB 后,启动数据库守护进程并使用 mysqlsecureinstallation 脚本来保护数据库(设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等)。
# systemctl start mariadb
# mysql_secure_installation
[/code]
启动 MariaDB 数据库
MariaDB 安全设置
要测试数据库功能,使用 root 账户登录 MariaDB 并用 quit 退出。
mysql -u root -p
MariaDB > SHOW VARIABLES;
MariaDB > quit
[/code]
连接 MariaDB 数据库
4)、安装PhpMyAdmin
RHEL 7.0 或者 CentOS 7.0 仓库默认没有提供 PhpMyAdmin 二进制安装包。如果你不适应使用 MySQL 命令行来管理你的数据库,你可以通过下面的命令启用 CentOS7.0 rpmforge 仓库来安装 PhpMyAdmin。
选择合适的源地址来安装,参考方法:安装使用
EPEL 安装源。
到 EPEL 主页:
http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F
找到 The newest version of ‘epel-release’ for EL7,点击打开新页面,复制 epel-release-7-5.noarch 的链接(数字可能有变化)。采用下面的方法直接安装:
#yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm[/code]安装PHPMYADMIN
yum install phpmyadmin
嗯,前面已经打好基础了,所以这里就是这么简单。
配置
phpMyAdmin 的默认安装目录是 /usr/share/phpMyAdmin,同时会在 Apache 的配置文件目录中自动创建虚拟主机配置文件 /etc/httpd/conf.d/phpMyAdmin.conf(区分大小写)。默认情况下,CentOS 7上的phpMyAdmin只允许从回环地址(127.0.0.1)访问。为了能远程连接,你需要改动它的配置。vi /etc/httpd/conf.d/phpMyAdmin.conf
修改配置文件,如下:<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> # Require ip 127.0.0.1 #注释掉 # Require ip ::1 #注释掉 Require all granted #新添加 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> <Directory /usr/share/phpMyAdmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> #Require ip 127.0.0.1 #注释掉 #Require ip ::1 #注释掉 Require all granted #新添加 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory>
然后重启Apache服务器systemctl restart httpd
然后就可以通过浏览器访问 http://服务器ip地址/phpmyadmin 访问
到此为止所有的工作已经做完了,一个Linux服务器环境已经安装完毕,如果文章中有什么错误和不严谨的地方希望大家指正,我也是菜鸟刚学,希望大家一起交流经验,学习进步
相关文章推荐
- Linux 入门之文件查找(find、locate)命令
- device eth0 does not seem to be present解决
- linux常用操作
- linux sed 命令详解
- MySQL不区分大小写(Linux与WINDOWS)
- centos7之lamp环境搭建
- Linux安装Zookeeper服务
- 编译linux内核错误Assembler message的问题
- Linux 4.6 phy驱动调试
- Linux后台开发应该具备技能
- IT-linux-rsync-使用
- Centos安装配置Samba服务器
- linux常见命令
- linux环境下创建数据库
- tornado 12、生产模式部署到服务器过程中遇到的一些命令
- grep 正则表达式说明
- 白话MyCat——MyCat部署运行(Linux环境)与使用步骤详解
- 常用的Linux指令
- linux 下makefile的入门学习
- Linux堆管理实现原理学习笔记 (上半部)