Monday, November 20, 2017

服务器架设:CentOS搭建LAMP详细教程

本文是在独立服务器或VPS中使用CentOS操作系统搭建LAMP详细完整教程,适合初学者,本文会保持更新。

第一部分

LAMP 是Linux、Apache、MySQL/MariaDB、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和MySQL/MariaDB支持的Apache网站服务器。

1. 说明

本文以VPS主机为例,操作系统是CentOS 7,独立服务器操作方法与VPS相同。域名请做好DNS指向。

2. 安装 Apache

Apache 已经包含在 CentOS 软件包中了,一般来说,系统已经默认安装完毕。如果没有,你可以使用下面的命令轻松安装它:

yum install httpd

系统会提示已需要安装的版本并自动安装,如有更新,系统会显示需要更新的版本。

安装 Apache 后,你可以:
启动Apache:

systemctl start httpd.service

停止Apache:

systemctl stop httpd.service

重启Apache:

systemctl restart httpd.service

设置开机启动Apache:

systemctl enable httpd.service

设置开机不启动Apache:

systemctl disable httpd.service

检查Apache运行状态:

systemctl status httpd.service

现在可以在浏览器中打开 http://domain.com(你的域名) 或 http://ip地址(VPS的IP地址),就可以看到 Apache Test Page 页面。
如果是本地服务器,现在可以在浏览器中打开 http://localhost 或 http://127.0.0.1 ,看到 Apache Test Page 页面。

修改配置文件:

vi /etc/httpd/conf/httpd.conf

可以修改侦听端口 80 -> 8080 :

#Listen 12.34.56.78:80
Listen 8080

你可以重启动Apache服务:

systemctl restart httpd.service

接着继续再了解一下 apache 这个版本的结构,这有助于我们配置应用:

/etc/httpd/conf/httpd.conf :最主要的配置文件;
/etc/httpd/conf.d/*.conf :这个是 CentOS 的特色,如果你不想修改原始配置文件 httpd.conf 的话,其他配置的在此独立配置,启动 apache 时,这个文件就会被读入到主要配置文件;
/usr/lib/httpd/modules :apache 支持很多的模块,您想要使用的模块默认都放置在此目录;
/var/www/html :这里是 CentOS 默认的“首页”目录;
/var/www/error :默认的系统错误信息,主机设置错误或浏览器端要求的数据错误,在浏览器上出现的错误提示就以这里的信息为主;
/var/www/icons :提供 apache 的一些小图标;
/var/www/cgi-bin :默认一些可执行的 CGI 程序放置的目录;
/var/log/httpd :日志文件目录,这里的文件很容易变的很大,需要提供足够的空间;
/usr/sbin/apachectl :这是 Apache 的主要执行文件,这个执行文件其实是 shell script ,它可以主动检测系统上的一些设置值,好让您启动 Apache 时更简单;
/usr/sbin/httpd :这是主要的 apache 的二进制文件;
/usr/bin/htpasswd :当您想登陆某些网页时,需要输入账号与密码。那么Apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个命令实现的。

3. 安装 MySQL/MariaDB

执行下面的命令来安装 MySQL/MariaDB:

yum -y install mariadb mariadb-server

然后启动 MySQL/MariaDB 服务器:
启动MySQL/MariaDB:

systemctl start mariadb

停止MySQL/MariaDB:

systemctl stop mariadb

重启MySQL/MariaDB:

systemctl restart mariadb

设置开机启动MySQL/MariaDB:

systemctl enable mariadb

运行下面的命令来为 root 用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!):

mysqladmin -u root -p password 12345678

Enter password: 输入root密码以确认修改,一般root初始密码为空(上面的12345678为你想要的密码)

重启MySQL/MariaDB:

systemctl restart mariadb

MySQL 有几个重要目录与文件:
/etc/my.cnf :这是Mysql的配置文件,包括 mysql 数据库的优化;

/usr/lib/mysql :这个目录是 MySQL 数据库放置的位置,务必在备份时将此目录完整的备份下来。

4. 安装 PHP

使用下列命令来安装 PHP 和 Apache 的 PHP 模块:

yum install php

然后重新启动 Apache :

systemctl restart httpd.service

这个安装比较简单,完成后可以测试一下。Apache 网站的默认文档的路径是 /var/www/html ,在这个目录里上传一个PHP探针,并且在浏览器中调用 http://localhost/env.php 将会显示很多 PHP5 的安装信息。

PHP 正在工作,你会看到很多模块都可以在 PHP 中使用了,而 MySQL 并没有在这里被列出来,这意味着 PHP 并不支持MySQL,你还需要安装 php-mysql 这个包。

5. 安装PHP组件,使 PHP5 支持 MySQL

yum search php

选择你所需的安装包,然后通过下列命令安装他们:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash

检查系统更新,然后安装更新,最后清理安装包。

yum check-update
yum update
yum clean all

如果需要,可以编辑php.ini,一般不用改动

vi /etc/php.ini

然后重新启动 Apache :

systemctl restart httpd.service

在浏览器中重新加载 http://localhost/env.php 这个页面,你就能看到刚刚安装的 PHP和MySQL 模块。

6. 设置 Apache 和 MySQL 开机启动

systemctl enable httpd.service
systemctl enable mariadb

注意:“设置 Apache 和 MySQL 开机启动”这一步一定要做,否则是访问不了你的网站的。

OK,一个 LAMP 服务器搭建完成。

第二部分

1.安装phpMyAdmin

yum install phpMyAdmin

2.使用putty登陆SSH

这是给网站根目录赋予写权限

chown root:root /var/www/html/ -R

或者

chmod -R 777 /var/www/html/

安装zip文件解压工具

yum install unzip

第三部分

实例:安装WordPress设置固定链接教程
1.安装Wget

yum install wget

2.进入虚拟机所在目录

cd /var/www/html

3.下载WordPress到服务器并解压

wget http://wordpress.org/latest.tar.gz
tar zxvf latest.tar.gz

4.修改WordPress目录属性

chmod -R 777 /var/www/html/wordpress
chgrp -R ftp /var/www/html/wordpress
chown -R www /var/www/html/wordpress

5.修改apache2的虚拟机配置文件(位于/etc/httpd/conf/httpd.conf),在<VirtualHost *:80>和</VirtualHost>中间加入下面代码

<Directory “/var/www/html”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>

6.Apache重新加载配置:

systemctl restart httpd.service

提醒一下,本教程未提及FTP服务的安装,如果需要可以安装vsftpd或pureftpd,过程不再赘述。因为我自己觉得使用WinSCP的SFTP就够用了,没有必要安装过多的服务消耗系统资源。

Leave a Reply

Your email address will not be published. Required fields are marked *