网站程序弄得一团乱,所性闲着没事将zblog来一次大搬家,基于ubuntu系统下搭建环境并实现zblog搬家之路:先备份,备份,备份;原站点根目录所有文件,数据库文件,保存存好!如打包网站目录下的所有文件,网站地址域名项是否能开启更改网站域名的开关,静态管理中心插件的文章的URL配置 及 其它的URL配置是否记录,相关插件是否禁用,网站后台主页是否 清空缓存并重新编译模板 并利用 phpmyadmin 备份好 sql 文件。
更新新服务器:
apt update
apt upgrade
更新软件源:从/etc/apt/sources.list 文件中定义的源中获取的最新的软件包列表
新环境配置:
安装 php
apt install php7.4
安装 apache 【php 附带 己安装 。故不用操作】
安装 mysql
apt install mysql-server
安装phpmyadmin
apt install phpmyadmin
这里弹出窗口要用空格键选择【apache2】后按键盘上的 Tab 键到 <ok> 选项上按回车,之后弹窗选 <Yes> 回车,输入两次密码。
安装完后一定要检查相应端口是否开启,不然入坑,养成一个好习惯。我曾被坑了一整天,
查看端口启动情况: (视相关系统环境操作)
sudo ufw status
ubuntu 开启80端口:(视相关系统环境操作)
sudo ufw allow 80
配置网站目录
cd :/etc/apache2/sites-available
备份:
cp 000-default.conf 000-default.conf.bak
更改网站配置文件,更新如下内容:(将xxx或相关字符换成自己的)
<VirtualHost *:80> ServerName www.xxx.cn ServerAdmin xxx@xxx.com DocumentRoot /var/www/xxx <Directory /var/www/xxx> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/xxx_error.log CustomLog ${APACHE_LOG_DIR}/xxx_access.log combined </VirtualHost>
检查 配置文件无误后建立配置文件软链接:
a2emsite 000-default.conf
配置 apache2:apache2.conf文件:
查找:AllowOverride None (3处),修改为 AllowOverride All
保存更改退出
开启apache2伪静态支持模块运行:
a2enmod rewrite.load
或者运行软链接命令:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
成功安装 后提示要输入命令 systemctl apache2 restart 或者 service apache2 restart 重启 apache 后根据你网站的域名访问网站看是否成功!!!如果 没有成功,要检查 端口及其它注意事项。
复制网站备份文件上传到网站根目录
【可检查下网站的数据配置文件 c_option.php 文件路径为:网站目录/zb_user/】
下面到了关键的数据库操作了:
在系统 mysql 命令行中新建 用户 及 密码, 用到的以下命令:(参考:mysql创建用户并赋于密码 )
CREATE USER '这里改为用户名'@'%' IDENTIFIED BY '这里改为密码'; //创建用户并付于密码【要注意两边引号】
GRANT ALL ON *.* TO '这里改为用户名'@'%' WITH GRANT OPTION; //给用户添加权限,使其可在 myphpadmin 中登录
select user from user; //查看数据表下用户是否成功创建
flush privileges; //刷新数据库
在浏览器输入你的 phpmyadmin 网址登录,并创建数据库 【新建和原网站一样的数据库名】
更改 myphpadmin 导入数据库的限制,修改后要重启 apache : service apache2 restart
在Apache 上,php.ini通常位于/etc/php/7.4/apache2/php.ini。 (假如版本号为7.4.3) 要更改上传的大小,编辑php.ini文件,查找 以下字符做更改: upload_max_filesize = 2M 上载文件的最大许可大小 ,比如后面数字 修改为8M memory_limit = 128M 脚本运行最大消耗的内存,根据需求更改数值,比如后面修改为 256M ( 数据不大也可以不用修改 ) post_max_size = 8M, 表单提交最大数据为8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等,修改为: post_max_size = 20M
导入备份好的原网站数据库,【zip格式】,导入数据时最好不要操作其它的连网动作。成功导入数据后检查下网站是否可以访问,一般来说能访问主页,其它页面报错。如此我们检查下Apache 的 rewrite mod 是否开启:
sudo a2enmod rewrite
检查 Apache 的对应目录 Allowoverride 是否设为 All ,通常情况下要到网站后台的插件 静态管理中心 配置页面
重新选择规则后保存,再点击 ReWrite规则 重新创建 .htaccess 文件 ,通过上面这些检查,再重启 apache 后一般能解决只能访问网站主页的问题。
配置网站域名的ssl域名证书相关配置
配置ssl:
安装 openssl
apt install openssl
开启443端口:
sudo ufw allow
启用apache2 ssl模块支持:
a2enmod ssl
成功安装 后提示要输入命令 systemctl apache2 restart 重启 apache
在服务器相应的目录里新建个放ssl证书文件的目录,比如新建个ssl文件夹,上传 SSL配置文件所需要的证书密钥文件到该目录下,再配置 default-ssl.conf 此文件路径:/etc/apache2/sites-available/ 配置前先做好备份
举例:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost ServerName www.xxx.cn DocumentRoot /var/www/xxx/ ErrorLog ${APACHE_LOG_DIR}/ssl_error.log CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLEngine on SSLCertificateFile //_public.crt文件地址 SSLCertificateKeyFile //.key文件地址 SSLCertificateChainFile /_chain.crt文件地址 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
保存退出后建立 SSL配置文件软链接
a2ensite default-ssl.conf
或者运行命令:
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
网站根目录配置.htaccess文件:【这个可以在网站搬家好后在后台设置】
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(xxx\.cn)(:80)? [NC] RewriteRule ^(.*) https://www.xxx.cn/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
参考: .htaccess文件的方法
完!