此贴的目的是对今天的学习做一个总结、记录,方便日后的回顾学习,同时与大家分享经验希望能够对跟我一样初学Linux服务器的同学起到帮助作用!
首先是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)
-
#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
连接 MariaDB 数据库
4)、安装PhpMyAdmin
#yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
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 访问