系统如图:
安装使用Apache Ubuntu的软件包管理器:
sudo apt update
sudo apt install apache2
//sudo以root用户运行
接下来将会询问你输入账号密码,输入密码后,会告诉你将要安装哪些软件包以及它们将占用多少额外磁盘空间。
选择Y
和ENTER
继续,安装将继续进行。
检查UFW是否具有Apache的应用程序配置文件:
sudo ufw app list
将会显示:
查看Apache Full
配置文件:
sudo ufw app info "Apache Full"
将会显示:
允许传入HTTP和HTTPS流量:
sudo ufw allow in "Apache Full"
此时在浏览器输入
http://你的ip地址
就能看到Apache网页了。
如果不用图形界面的浏览器,可以直接在linux中输入
w3m 你的ip
可以看到这个界面:
就说明安装好了。
然后按q键退出w3m,
sudo apt install mysql-server
然后会显示安装的软件包列表,以及它们将占用的磁盘空间量,输入y继续。
sudo mysql_secure_installation
然后会询问你是否需要配置VALIDATE PASSWORD PLUGIN(验证密码插件)
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:
选择y进行配置或者选择n
如果选择了配置,会让你选择密码等级:
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
无论是否选择设置VALIDATE PASSWORD PLUGIN
,服务器都会要求你选择并确认MySQL root用户的密码。这是MySQL中的一个管理帐户,具有更高的权限。可以认为它类似于服务器本身的root帐户。
如果启用了密码验证,则会显示刚刚输入的root密码的密码强度,并且服务器会询问你是否要更改该密码。如果你觉得当前密码够安全,输入n。
Using existing password for root.
Estimated strength of the password: 10
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
然后接下来的问题,都选择y并且enter。
接下来设置mysql的访问方式。
sudo mysql
mysql>SELECT user,authentication_string,plugin,host FROM mysql.user;
会显示:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
会看到 root用户的访问方式是auth_socket
插件进行身份验证,现在要把它改成账号密码访问。
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql>FLUSH PRIVILEGES;
再次输入
mysql>SELECT user,authentication_string,plugin,host FROM mysql.user;
会显示
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
这样就配置好了。退出mysql:
mysql>exit
由于访问方式发生了改变,所以接下来访问mysql的命令也变了,为:
mysql -u root -p
然后输入密码即可。
sudo apt install php libapache2-mod-php php-mysql
接下来需要修改Apache在请求目录时提供文件的方式。默认情况下,如果用户从服务器请求目录,Apache将首先查找名为的文件index.html
。但是我们想告诉Web服务器首先打开index.php
文件,于是作以下修改:
sudo nano /etc/apache2/mods-enabled/dir.conf
这将会打开一个conf文件,然后把php后缀放到前边,如图所示:
CTRL+X
保存并关闭文件。输入Y
,回车。然后重启Apache更新设置:
sudo systemctl restart apache2
最后可以做一下测试
sudo nano /var/www/html/info.php
建立一个php文件,写入以下内容:
然后保存,退出。访问:
http://你的ip/info.php
为WordPress创建MySQL数据库和用户:
mysql -u root -p
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
创建账户和密码:
mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit;
安装一些php扩展:
sudo apt-get update
sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
sudo systemctl restart apache2
调整Apache的配置以允许.htaccess覆盖和重写:
sudo nano /etc/apache2/apache2.conf
添加:
AllowOverride All
然后重启:
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2
在tmp目录下 下载解压wordpress:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
添加一个虚拟.htaccess
文件并设置其权限,方便以后使用WordPress
touch /tmp/wordpress/.htaccess
chmod 660 /tmp/wordpress/.htaccess
将配置文件复制过去
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
创建一个更新目录
mkdir /tmp/wordpress/wp-content/upgrade
将目录的全部内容复制到文档根目录中
sudo cp -a /tmp/wordpress/. /var/www/html
将文档根目录中的所有文件的所有权分配给用户名:
sudo chown -R 你的用户名:www-data /var/www/html
设置WordPress安装中每个目录的位
sudo find /var/www/html -type d -exec chmod g+s {} \;
将为wp-content
目录提供组写访问权限,以便Web界面可以进行主题和插件更改:
sudo chmod g+w /var/www/html/wp-content
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins
从WordPress密钥生成器中获取安全值,输入以下命令或浏览器打开连接https://api.wordpress.org/secret-key/1.1/salt/
curl -s https://api.wordpress.org/secret-key/1.1/salt/
你会得到这样一组数据(密钥打码了):
打开WordPress配置文件:
nano /var/www/html/wp-config.php
将之前得到的数据粘贴过来
然后设置以下几个地方,并将红框中的内容添加到这个文件中。
最后,在浏览器中或用w3m 打开你所在的ip地址,即可通过Web界面完成安装wordpress。
在安装的过程中遇到了一些问题:
Failed to connect to wordpress.org port 443: Connection timed out
最后试了很多种方法都不行……然后发现是因为这台机子没联外网……(迷)
可以把wordpress 下载到 联网的电脑上,然后使用Xftp连接 即可把压缩包拷贝到linux上去了