博客 2024-10-31

概述:

  1. 操作系统:  Centos 停止更新, Debian 最新版本发布: Centos7 -> Debian 12.7

  2. Wiki:

 

 升级到



3.博客迁移 blog.mreald.com


阿里云申请新的ECS再安装LAMP


hostnamectl hostname mreald
sudo apt update
sudo apt install apache2 -y
sudo apt install mariadb-server -y
sudo apt install php libapache2-mod-php php-mysql php-fpm -y
sudo apt install php8.2-mbstring  php8.2-xml  php8.2-intl  -y


配置Apache2 (几种配置方法官方文档: https://httpd.apache.org/docs/2.4/en/vhosts/  )

 vim /etc/apache2/sites-available/myblog.conf
 
<VirtualHost *:80>
ServerName  blog.mreald.com
DocumentRoot /var/www/html/webdir/
DirectoryIndex index.html index.php
Options FollowSymLinks
</VirtualHost>
加载网站:
a2ensite  myblog

会在 /etc/apache2/sites-enabled/  下生成/etc/apache2/sites-available/myblog.conf 的软链接 myblog.cnf,表示生效


改两个地方,不然除了首页正常,其它页面都是404

vim /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All ###这里的None 改为All
Require all granted
加载这个模块:
a2enmod  rewrite
systemctl restart apache2


配置下Mariadb用户密码什么的:

mariadb-secure-installation
create database websit;
mysql -uroot -p websit < /home/ecs-user/websit.sql

Mediawiki 升级:

开始不懂,以后像之前, 把数据库导过去,用新的网站代码就行. 最后发现新的wiki 数据库的表结构都不一样.

想自己把老的表一个个导过去.就做了半天下面的功夫:

insert into text select * from mediawiki.mediawikitext where  not exists
 (select * from text where text.old_id=mediawiki.mediawikitext.old_id);
INSERT INTO revision (`rev_id`, `rev_page`, `rev_timestamp`, `rev_minor_edit`, `rev_deleted`, 
`rev_len`, `rev_parent_id`, `rev_sha1`) select `rev_id`, `rev_page`,  `rev_timestamp`, 
`rev_minor_edit`, `rev_deleted`, `rev_len`, `rev_parent_id`, `rev_sha1` 
from mediawiki.mediawikirevision where  not exists 
(select * from revision where revision.rev_id=mediawiki.mediawikirevision.rev_id);

有一个文字格式的,以至于总是提示语法错误,真服了..

INSERT INTO `archive` (`ar_id`, `ar_namespace`, `ar_title`, `ar_comment_id`, `ar_actor`, 
`ar_timestamp`, `ar_minor_edit`, `ar_rev_id`, `ar_deleted`, `ar_len`, `ar_page_id`,
`ar_parent_id`, `ar_sha1`) VALUES (NULL, '0', '', '', '', '', '0', '', '0', NULL, NULL, NULL, '')
.....


折腾了一天,发现有页面内容,但是链接打不开. 


网上又查了一下.说 1.34之前的升级到1.42 需要两步升级. 先升级到 1.34, 再1.34升级到1.42

网站代码下载地址与 更新方法参考如下:

wget https://releases.wikimedia.org/mediawiki/


https://www.mediawiki.org/wiki/Manual:Upgrading/zh

https://www.zxw.pub/mediawiki/202001/mediawiki-update.html



大致过程:

create database mediawiki;
mysql -uroot -p mediawiki < /home/ecs-user/mediawiki.sql

第一步升级:
cd /var/www/html/
wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.tar.gz
tar xzf mediawiki-1.34.tar.gz
php mediawiki-1.34/maintenance/update.php 

第二步升级:
wget https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.tar.gz
tar xzf mediawiki-1.42.tar.gz
php mediawiki-1.42/maintenance/update.php 

中间会提示一些 LocalSettings.php 配置内容的改变,做下变更就行

最后把原来的Logo.png 什么的更换一下就OK


博客迁移:


php 升级版本比较大,有一些问题汇总一下:

    foreach ($values as $value)
    {
        ...
    }
    改为
    if (is_array($uniquerel) || is_object($uniquerel))
			{
    foreach ($values as $value)
    {
        ...
    }
    }


strlen(ABC); //ABC 为Null的时候会提醒不用这个函数
strlen((string)ABC); // returns 0


	public $indent=0;
	public $content=array();
	public $lines=0;
	public $context=array();

	public $rooturl;
	public $request;

	public function __construct($content,$rooturl,$request){


	#return get_magic_quotes_gpc() ? addslashes($string) : $string;
	return $string;
	
	isset($this->content['logo']) && !empty($this->content['logo']) ?$this->content['logo']:''



遇到的问题:


1. ssh 客户端 连接服务器的总是3分钟左右断开,没使用的时候


本地Client端 修改(加下面两行):
 vim  /etc/ssh/ssh_config
    ServerAliveInterval 30
    ServerAliveCountMax 1300


解释:客户端每30s给服务器一次心跳, 最大 1300次

或者:

    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=300 user@hostname


之前是改的Sever 端的如下,一般是有用,但这次一直不行

/etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 100



2. 学到的知识点

vim 代码自动格式化对齐 =
== 行
gg=G 全部
多进程删除文件:
find /var/spool/postfix/maildrop/ -type f -print0 |xargs -0 -P 30  rm -f