实验简介
LAMP 是一组常用来搭建动态网站或者服务器的开源软件组合,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了很高的兼容性,并且非常的稳定,从而形成了一个构建强大的 Web 应用程序平台的组合。
LAMP 分别指的是 Linux(操作系统)、Apache(HTTP 服务器),MySQL(数据库)和 PHP(有时也是指 Perl 或 Python)的第一个字母。
本次实验通过配置 LAMP,来学习 Linux 的服务器搭建,并通过搭建一个 wordpress 博客,切实体会到 LAMP 的效果。
效果截图
image.png安装 Apache
Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器软件,是基于 NCSA httpd 服务器开发的,Apache 的发展开始于 1995 年初在 NCSA 之后。可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展。
在众多的 Web 服务端软件中,Apache 有这样的一些优点:
rewrite 的能力特别的强
模块特别的多,很容易找到
非常的稳定
因为长时间的发展,所以规范、文档和资料很多,并且社区活跃
请打开桌面上的 Xfce 终端,通过下面的命令安装 Apache:
sudo apt-get update
sudo apt-get install -y apache2
sudo service apache2 start #开启服务
完成后,Apache 就安装好了,我们可以通过浏览器访问服务器的地址来查看是否成功的安装,或者服务是否有成功的启动,
查询本机的 IP 地址可以通过输入下面的指令:
ifconfig eth0 | grep inet | awk '{ print $2 }'
我们可以在浏览器的地址栏中输入 127.0.0.1 或者 localhost 亦或者使用刚刚查询到的本机的内网地址,便可得到这样的结果。
image.png
之所以会得到这样的结果是因为当我们访问一个网站时默认访问的 80 端口,并且在安装时 apache 在其文件根目录生成了一个 index.html 页面,以供测试使用。
这里的根目录是 apache 专门用于存放读取网页的目录,当然这个根目录可以通过配置文件来修改,若没有修改则默认位于 /var/www/html/,通过修改位于 /etc/apache2/site-enabled/000-default.conf 配置文件中 DocumentRoot 项我们可以自定义根目录的位置。
image.png
安装 MySQL
MySQL
是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。在 WEB 应用方面 MySQL 是最好的 RDBMS
(Relational Database Management System,关系数据库管理系统)应用软件之一。
通过下面的命令安装 MySQL:
sudo apt-get update
#分别安装的 mysql 的服务端,以及 php 调用 mysql 的模块
sudo apt-get install -y mysql-server php-mysql
环境里已安装 mysql-server,只需要安装 php-mysql 即可。直接安装或升级 MySQL 会失败。
如果你安装的是 MySQL-5.7.6 以下的版本,需要通过下面的指令来激活 MySQL:
sudo mysql_install_db
如果使用的是 5.7.6 或更高版本,则数据目录将自动初始化,无需运行 sudo mysql_install_db。
最后通过这个指令来设置数据库的账号和密码:
sudo mysql_secure_installation
若是遇到错误,说明我们的 MySQL 并没有启动起来,我们可以通过 Ctrl+C 退回到 Shell,然后通过 service 这个指令来查看 MySQL 是否启动:
sudo service mysql status
image.png
此时我们只需要使用 service 命令启动 mysql 就可以解决问题啦。
sudo service mysql start
image.png
然后再启动 mysql 的安装:
sudo mysql_secure_installation
刚安装的时候没有设置 root 密码,点击 ENTER (回车键),然后便是一个交互界面,询问一些关于密码设置与默认用户的设置。
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
# 询问是否安装密码强度检测插件,它会强制你设置一个复杂的密码,因为是实验所以这里直接回车跳过,生产环境建议保留。
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
#在 mysql 安装时有创建一个默认的匿名用户,询问你是否删除,处于安全考虑我们选择的是 yes
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
# mysql 支持远程的操作,这里询问我们在远程操作时是否可以使用 root 登录
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
# 询问我们是否需要删除安装时存在的测试数据库
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
# 重新加载表使配置生效
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
通过以上的操作,我们便完成了 MySQL 的一些简单的配置,接下来就要开始安装 PHP。
安装 PHP
PHP
是一种设计来用于服务端开发的 server-side
脚本语言,但也作为通用的编程语言。最初由 Rasmus Lerdorf 在 1994 创造出来,现在主要由 zend 公司在维护。php 的语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。有兴趣可以到 PHP 社区 做更深入的了解。
通过下面的指令安装 PHP:
#分别安装 php(Linux 有自带)、apache 的 php 库文件以及 php 的加密库
sudo apt-get install -y php libapache2-mod-php php-mcrypt
PHP 有很多有用的库和模块,安装好后可以输入下面的指令查看:
apt-cache search php-
image.png
检验
通过上面的安装,PHP 的安装也就完成了,我们来检验一下安装的效果如何:
首先编写一个文件,sudo vim /var/www/html/info.php ,在里面输入这样的一段 php 语句(用于显示 php 信息的一段语句)。
<?php
phpinfo();
?>
然后保存退出即可。
在浏览器里面输入 http://localhost/info.php 便可访问,如下图所示。
实验环境中因为一些问题无法解析 php 文件,还需要进行配置才可以看到上面的界面。
编辑 apache 主配置文件 /etc/apache2/apache2.conf 第 92 行,修改 KeepAlive 设置为 off
KeepAlive Off
Apache 默认的 multi-processing 模块(MPM)是一个 event 模块, 但是 php 默认是使用 prefork 模块
所以我们需要禁用 event 模块,启用 prefork 模块
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
重启 Apache
sudo service apache2 restart
如果在重启 Apache 时,看见关于 ServerName 的报错,可以做如下修改:
编辑 apache 主配置文件 /etc/apache2/apache2.conf
添加一行 ServerName localhost
然后再执行 sudo service apache2 restart 刷新页面就能看到了。
安装 phpmyadmin
对于刚刚接触 mysql 的同学,对 sql 语句并不是太熟悉,或者觉得字符界面效率过低,可以使用 phpmyadmin 这样的图形界面工具来管理数据库。
输入使用这个指令来安装 phpmyadmin :
sudo apt-get install -y phpmyadmin
在安装的时候便会贴心的询问我们使用的哪种 web server 。这里选择 apache2 并按 enter 键表示确认。
image.png
还会问我们用来管理数据库的话是否要一起配置了,若是需要配置则按照提示输入数据库密码。
选择 是 并按 enter 键:
image.png
看到下面的界面,然后输入之前我们安装 mysql 设定的密码并按 enter 键:
image.png
下面同样也是输入我们安装 mysql 设定的密码并按 enter 键:
image.png
依然是输入我们安装 mysql 设定的密码并按 enter 键:
image.png
这样我们就完成了安装步骤。
若是在配置的时候遇到 error 2002(HY000)的错误,可能是你的 MySQL 服务并没有正常的启动。
当安装完成之后,我们需要配置 apache 才能正常的访问该页面。使用 Vim 编辑配置文件:
sudo vim /etc/apache2/apache2.conf
在配置文件中添加这句话(按 i 键进入 vim 插入模式,添加好内容过后,按 Esc 再输入 :wq 保存退出),因为在安装的时候 phpmyadmin 为我们做好了配置文件,现在只需要包含进来即可。
# 在配置文件里添加这个配置
Include /etc/phpmyadmin/apache.conf
保存退出后重新启动服务器:
# 修改配置文件之后,只有重新启动服务才能生效
sudo service apache2 restart
然后我们只需要在浏览器的地址栏中输入 localhost/phpmyadmin 便可访问。
登录界面的用户名填写 root,密码为之前设置的 mysql 的密码。
image.png
image.png
安装 WordPress
在完成上面的安装后,LAMP 的环境也就搭建好了,装好了它有什么用呢? 我们可以用它来搭建自己的网站了,但是没有学过 PHP 怎么办呢? 我们可以基于 LAMP 环境来搭建 WordPress。它是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的博客网站,也可以把 WordPress 当作一个内容管理系统(CMS)来使用。
它有许多第三方开发的免费模板,安装方式简单易用。并且它支持中文版,同时有爱好者开发的第三方中文语言包,如 wopus 中文语言包。WordPress 拥有成千上万个各式插件和不计其数的主题模板样式。
添加数据库
我们可以通过在 MySQL 里添加 WordPress 需要的数据库。
首先在终端中进入 MySQL 命令行,需要输入密码。
mysql -uroot -pshiyanlou #输入你创建的密码进入数据库
然后输入 SQL 语句创建数据库。
mysql > status; #检查联通性
mysql > create database wordpress_db; #创建一个 wordpress_db 的数据库
mysql > show databases; #查看数据库
mysql > exit #退出 mysql 的命令行
image.png
当然我们也可以使用 phpmyadmin 来为我们添加这个数据库
image.png
安装配置 WordPress
完成了 WordPress 数据库的准备工作,我们便开始安装 WordPress。按 ctrl + D 退出 mysql 命令行,在终端执行如下语句:
#下载 wordpress 源码包
wget https://labfile.oss.aliyuncs.com/courses/621/wordpress-4.5.3-zh_CN.zip
#将其解压
unzip wordpress-4.5.3-zh_CN.zip
#将页面都移至 apache 的根目录下
sudo mv wordpress /var/www/html/
#更新模板配置文件的文件名为可生效的文件名
sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
#编辑配置文件中的参数,将 wordpress 与 mysql 连接起来
sudo vim /var/www/html/wordpress/wp-config.php #编辑里面的一些参数
我们需要把数据库的名称,数据库的用户和密码都添加进去,按照如下内容修改 wp-config.php 文件中的对应信息:
按 i 键进入 vim 插入模式,编辑好内容过后按 esc 键,再输入 :wq 保存退出。
# WordPress 数据库的名称
define('DB_NAME', 'wordpress_db');
# MySQL 数据库用户名
define('DB_USER', 'root');
# MySQL 数据库密码,此处填你之前设置的数据库密码,我们之前设置的密码是 shiyanlou,所以这里填 shiyanlou
define('DB_PASSWORD', 'shiyanlou');
# MySQL 主机
define('DB_HOST', 'localhost');
$table_prefix = 'wp_wordpress';
image.png
若是成功的配置,我们在浏览器的地址栏中输入 localhost/wordpress 即可得到这样的界面:
image.png
若是在配置文件中的数据库信息填写错误那么将会得到这样的界面:
image.png
按照指导完成用户的注册,可以如下图这样配置:
image.png
之后我们便可登录,得到这样的页面,我们便可以开始我们的博文创作了。
image.png
image.png
image.png
参考资料
How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu
网友评论