实验八 web部署

本次实验目的:在openEuler虚拟机上配置web环境。

配置LAMP

LAMP:
L Linux,操作系统
A Apache,网页服务器,解析网页语言、接收用户请求并给与响应
M MariaDB或MySQL,数据库管理系统(或者数据库服务器)
P PHP、Perl或Python,脚本语言,用于后台开发

这里我们用Linux-openEuler,Apache,MariaDB和php

Linux

配置虚拟机

在华为云平台上购买弹性云服务器


使用Moba Xterm,session->SSH,将云服务器的公网ip输入,生成虚拟机页面

配置虚拟机yum源

华为云openEuler没有配置yum源。> yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。
yum相关请见http://c.biancheng.net/view/2931.html

点击查看代码
cd /etc/yum.repos.d
vi openEuler_x86_64.repo 

在openEuler_x86_64.repo 增加下面内容:

点击查看代码
[OS]
name=OS
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/everything/$basearch/RPM-GPG-KEY-openEuler

[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[debuginfo]
name=debuginfo
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/debuginfo/$basearch/RPM-GPG-KEY-openEuler

[source]
name=source
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/source/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/source/RPM-GPG-KEY-openEuler

[update]
name=update
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS/update/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

nano文本编辑器

通过下面命令安装交互更加良好的nano 文本编辑器:

点击查看代码
yum install nano
(用vim也行)

Apache

安装:

点击查看代码
yum install -y httpd

启动:

点击查看代码
systemctl start httpd.service

通过下面命令,设置Apache开机自启动:

点击查看代码
systemctl enable httpd.service

初学web服务器时注意:
系统默认启动防火墙,会导致我们无法访问网站,通过下面命令关闭防火墙:

点击查看代码
systemctl stop firewalld

通过下面命令禁止防火墙自启动:

点击查看代码
systemctl disable firewalld

MariaDB

MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。它是大多数云产品的一部分,也是大多数 Linux 发行版的默认配置。MariaDB 被设计为 MySQL 的直接替代产品,具有更多功能,新的存储引擎,更少的错误和更好的性能。

安装:

点击查看代码
yum install -y mariadb-server

开启mariadb服务:

点击查看代码
systemctl start mariadb

通过下面命令设置mariadb开机自启动:

点击查看代码
systemctl enable mariadb

通过下面命令给mariadb数据库的root账户设置密码123456(或者其他什么):

点击查看代码
mysqladmin -uroot password '245014'

可以通过下面命令修改密码,一般不用操作

点击查看代码
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';  (注:新密码替换成自己的密码)

PHP

通过下面命令安装PHP和PHP模块:

点击查看代码
yum install -y php
yum install -y php-mysqlnd php-fpm php-opcache php-cli php-curl php-dom php-exif php-fileinfo php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium

检查

通过下面命令查看Apache和mariadb的运行状态:

点击查看代码
systemctl status httpd
systemctl status mariadb

通过下面命令查看Apache和mariadb是否已经开启了开机自启动:

点击查看代码
systemctl list-unit-files | grep httpd.service
systemctl list-unit-files | grep mariadb.service

通过下面命令查看mariadb的版本号:

点击查看代码
rpm -qa | grep mariadb

通过下面命令查看PHP的版本信息:

点击查看代码
php -v

test.php测试:

通过下面命令创建一个PHP测试文件测试PHP是否正常,输出重定向到test.php文件:

点击查看代码
echo "<?php phpinfo();  ?>" > /var/www/html/test.php

通过下面命令给这个文件赋权限:

点击查看代码
chmod 755 /var/www/html/test.php

通过下面命令重启Apache服务:

点击查看代码
systemctl restart httpd

在其他浏览器中输入ip/test.php出现以下形式即可

安装部署wordpress

通过下面命令安装wget:

点击查看代码
yum install -y wget

通过下面命令请求wordpress安装包(.ZIP):

点击查看代码
wget https://cn.wordpress.org/latest-zh_CN.zip

通过下面命令登录到mariadb:

点击查看代码
mysql -uroot -p

通过下面命令创建WordPress数据库:

点击查看代码
create database wordpressdb;

通过下面命令安装unzip解压工具:

点击查看代码
yum install -y unzip

解压latest-zh_CN.zip到/var/www目录下

点击查看代码
unzip latest-zh_CN.zip -d /var/www

通过下面命令创建用户给wordpress以Apache权限:

点击查看代码
chown -R apache:apache /var/www/wordpress
chmod -R 755 /var/www/wordpress/

编辑Apache的配置文件:
找准这个地方,把Directory语句中原本的默认路径 /var/www/html 改为 /var/www/wordpress

点击查看代码
nano /etc/httpd/conf/httpd.conf

编辑Apache的欢迎页面,将其内容都注释掉:

点击查看代码
nano /etc/httpd/conf.d/welcome.conf

重启Apache服务:

点击查看代码
systemctl restart httpd

转到下面这个文件夹:

点击查看代码
cd /var/www/wordpress

创建 wp-config.php 文件:

点击查看代码
nano wp-config.php

wp-config.php 文件中的代码:

点击查看代码
<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * Database settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpressdb' );

/** Database username */
define( 'DB_USER', 'root' );

/** Database password */
define( 'DB_PASSWORD', '123456' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

随后保证开机的情况下(可以利用windows中win+r输入cmd开启终端,输入ping ip的方法也可以test.php测试) 在网页上输入ip/wp-config.php即可。

创建成功后再次搜索ip,就会进入这样一个界面,我们第一个web就算完成啦!

发现问题

1,重启之后,会出现http error 500;
解决过程:经过测试,在wordpress文件夹下创建test.php文档,没问题,是wp-config.php代码不完全的问题

2,搜索不到文件;
解决过程:重新设置路径,注意把root的地址更改清楚:打开文件nano /etc/httpd/conf/httpd.conf

3,网页直接出现php源码。
解决过程:重启Apache,进行test.php。

4,出现与数据库建立连接出现错误。
解决过程:经过查阅资料,发现是在wp-config文件中对数据库的引用不正确。
详见网址https://www.lsbin.com/9311.html

对实验的建议

首先理清原理和语句关系,理解每一步背后的逻辑关系,明晓问题容易出现的地方,再开始做实验。

posted @ 2022-12-18 17:37  221412  阅读(89)  评论(0编辑  收藏  举报