wpserver(Web+TimeServer)をUbuntu22.04LTSへ

古い方(UBUNTU20.04LTS)のWord Pressのバックアップを作成

 各Word Pressのバックアップを取ります。(DBのため)。
 WebrootはUSBHDDで引き継ぎます。

古い方(UBUNTU20.04LTS)のLet's encryptの止め方(解除の仕方)・・・

# certbot revoke --cert-path /etc/letsencrypt/live/mifmif.mydns.jp/cert.pem
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

---------- service chronyd restart
---------------------------------------------------------------------
Would you like to delete the cert(s) you just revoked?
-------------------------------------------------------------------------------
(Y)es (recommended)/(N)o: y


Install

DBがあるので、

/var=50GB
/=70GB
(EFI:128MB)

でUBUNTU22.04LTSをインストールしました。
 SetUpPackとして、20.04LTSの設定ファイルをとっておき、ext4のUSBメモリに入れて、最初にホームにコピーし、ここから、適宜コピーして設定をしていきました。

IP固定

 IP固定は、ルータの方から、MACアドレスを入れて行います。(もうできていました)

ノートPCで蓋を閉じてもサスペンドを防止

〇/etc/systemd/logind.conf ファイルを編集し下記の行を変更。

$ sudo nano /etc/systemd/logind.conf


- #HandleLidSwitch=suspend
+ HandleLidSwitch=ignore


〇設定を反映

$ sudo systemctl restart systemd-logind


リモートデスクトップ関係

一番面倒なところです。
RDP接続になりました(VNCはデバック中のようでRealVNCからはつながりませんでした)
mRemoteNGが使いやすい(ただし、IPアドレス・フルカラーで接続ないとうまくいかない)
Password and Keys application -> Right-click on Login keyring -> change the password to blank.
をしないと、RDPのパスワードが自動的に変更されてしまう。

暗転すると接続が切れるのでxscreensaverをつかう。

sudo apt install xscreensaver xscreensaver-data-extra xscreensaver-gl-extra

 スタートアップへの追加

xscreensaver -nosplash

設定上は、ブランクスクリーンを<しない>にする。

Takao Fontへ

なんか地味に、Terminalが大きすぎです。

$ sudo apt install fonts-takao*


言語設定

 設定から入り、自動的に出るインストールを済ませる。以降Mozcツールが使えます。

fstab

 マウントポイント、fstabを過去のfstabから設定

Samba関係

SetUpPackから、USB-HDDのfstab入れ替え、マウントポイント整備、HDD組付け再起動。

SAMBAインストール


$ sudo apt install samba


SetUpPackからsmb.conf入れ替え
デーモンの再起動で、設定反映

$ sudo service smbd restart
$ sudo service nmbd restart


※エラーの場合、samba.confのinterfaceのデバイスを合わせること

apache2,PHP8.1設定

まずPukiwiki1.5.4向け~


$ sudo apt-add-repository ppa:ondrej/apache2
$ sudo apt-get install apache2
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt install libapache2-mod-php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-xml php8.1-xmlrpc php8.1-zip
$ sudo apt upgrade


Pukiwiki1.5.4向けphp.iniの編集


   /etc/php/8.1/apache2/php.ini
   memory_limit = 128M
   upload_max_filesize = 128M
   post_max_size = 128M


Word Press向け

$ sudo apt-get install mariadb-server mariadb-client


Word Press向けphpのインストール


$ sudo apt install php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mbstring php8.1-xmlrpc php8.1-gd php8.1-xml php8.1-mysql php8.1-cli php8.1-zip php8.1-curl


Word Press向けphp.iniの編集


    $ sudo gedit /etc/php/8.1/apache2/php.ini
    file_uploads = On
    allow_url_fopen = On
    memory_limit = 256M
    upload_max_filesize = 256M
    post_max_size = 256M
    max_execution_time = 360
    date.timezone = Asia/Tokyo
    mysqli.default_socket = /var/run/mysqld/mysqld.sock


MariaDBにWordPress用のデータベースを作成する。


$ sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE alpha;
MariaDB [(none)]> CREATE USER 'alpha'@'localhost' IDENTIFIED BY 'password-for-alpha';
MariaDB [(none)]> GRANT ALL ON alpha.* TO 'alpha'@'localhost' IDENTIFIED BY 'password-for-alpha' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;


$ sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE masterkudo;
MariaDB [(none)]> CREATE USER 'masterkudo'@'localhost' IDENTIFIED BY 'password-for-masterkudo';
MariaDB [(none)]> GRANT ALL ON masterkudo.* TO 'masterkudo'@'localhost' IDENTIFIED BY 'password-for-masterkudo' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;



データーベースの回復


 USB-HDDのバックアップ置き場に行き、バックアップカレントディレクトリ上に解凍用フォルダを作って、そこをカレントディレクトリにして、解凍。

$ cd /publicmnt/Public/wp-backup/alpha/
$ sudo mkdir temp
$ cd temp
$ sudo tar xvzf ../<バックアップファイル>.tar.gz
$ sudo mysql -u root alpha < alpha.sql
$ cd ..
$ sudo rm -rf temp


$ cd /publicmnt/Public/wp-backup/masterkudo/
$ mkdir temp
$ cd temp
$ sudo tar xvzf ../<バックアップファイル>.tar.gz
$ sudo mysql -u root masterkudo < masterkudo.sql
$ cd ..
$ sudo rm -rf temp


Let's encrypt設定

※設定前に、各DDNSをアップデートする→cron tabのコマンドをrootで実行

/usr/bin/wget -O ddoupdatelog  'http://free.ddo.jp/dnsupdate.php?dn=<Name>&pw=<Password>'
/usr/bin/wget -O mydnsupdatelogipv4  'http://<Name>:<Password>@ipv4.mydns.jp/login.html'
/usr/bin/wget -O mydnsupdatelogipv6  'http://<Name>:<Password>@ipv6.mydns.jp/login.html'


$ sudo apt install certbot python3-certbot-apache


certbot適用前のmifmif.mydns.jp.confを/etc/apache2/sites-availableへ


/etc/apache2/sites-available
<VirtualHost *:80>
	ServerName mifmif.mydns.jp
	ServerAlias mifmif.ddo.jp
	ServerAdmin <mailaddress>
        DocumentRoot /publicmnt/Public/webroot/
   	<Directory "/publicmnt/Public/webroot">
     		Require all granted
   	</Directory>
</VirtualHost>



$ sudo a2dissite 000-default.conf
$ sudo a2ensite mifmif.mydns.jp.conf
$ sudo systemctl reload apache2


ローカルで、httpでの各ページが表示できることを試す。

$ sudo apache2ctl configtest
*********
Syntax OK

を確認
certbotにより、SSL再設定。

$ sudo certbot --apache -d mifmif.mydns.jp -d mifmif.ddo.jp


.htaccessの有効化

sudo a2enmod headers
sudo a2enmod rewrite


/etc/apache2/apache2.confの以下を変更


<Directory /publicmnt/Public/webroot/alpha>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>

<Directory /publicmnt/Public/webroot/masterkudo>
	Options Indexes FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>


chrony

$ sudo apt install chrony


SetUpPackから/etc/chrony/chrony.confを入れ替えて設定

$ sudo service chronyd restart
$ chronyc sources


ファイヤーウォールの設定

$ sudo ufw enable
$ sudo ufw default DENY
for vnc
$ sudo ufw allow 5900
for RDP
$ sudo ufw allow 3389
for ntp
$ sudo ufw allow ntp
SambaとCupsとApache
$ sudo ufw allow Samba
$ sudo ufw allow http
$ sudo ufw allow 443/tcp
$ sudo ufw reload 
$ sudo ufw status
状態: アクティブ
To                         Action      From
--                         ------      ----
5900                       ALLOW       Anywhere                  
3389                       ALLOW       Anywhere                  
123/udp                    ALLOW       Anywhere                  
Samba                      ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
5900 (v6)                  ALLOW       Anywhere (v6)             
3389 (v6)                  ALLOW       Anywhere (v6)             
123/udp (v6)               ALLOW       Anywhere (v6)             
Samba (v6)                 ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6) 


Cron

SetUpPackから/rootへコピー後、見ながらcrontab -eで設定。
概略

*/12 * * * * /usr/bin/wget -O ddoupdatelog  'http://free.ddo.jp/dnsupdate.php?dn=<Name>&pw=<Password>'
*/12 * * * * /usr/bin/wget -O mydnsupdatelogipv4  'http://<Name>:<Password>@ipv4.mydns.jp/login.html'
*/12 * * * * /usr/bin/wget -O mydnsupdatelogipv6  'http://<Name>:<Password>@ipv6.mydns.jp/login.html'
*/12 * * * * cp /var/log/apache2/* /publicmnt/Public/apachelog/
*/12 * * * * /root/remount_usb-hdd.sh > remount_usb-hdd.log
03 00 * * 3 /root/update_giolite2 > /root/update_giolite2.log
00 00 * * 6 /root/clam-full.sh
55 23 15 * * certbot renew


各、DDNSへのCronのLogを見ておくこと。

ClamAV

$ sudo apt install clamav clamav-daemon

※(直したのがある)clamav-freshclamのserviceをストップしないとfreshclamがエラーになる→clam-full.sh編集

$ sudo systemctl stop clamav-freshclam
$ sudo freshclam
$ sudo systemctl start clamav-freshclam
$ sudo mkdir /var/log/clamav/virus


clam-full.shをrootに+xして、cronの用意をしておく

msmtp

$ sudo apt install msmtp


SetUpPackから/rootに.msmtprcをペースト
テスト

$ echo 'Test for mail' | awk 'BEGIN{print "Subject:Test \n";}{print $0;}' | msmtp -a default <mail-address>

apacheのaccess.logがother_vhosts_access.logに記述されている状態なのでaccess.logに統合する~

# other_vhosts_access.log to apache.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

apachのログローテートを1か月に

/etc/logrotate.d/apache2を編集して、1月のログをローテートするようにする。

/var/log/apache2/*.log {
    monthly
    missingok
    rotate 12
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    prerotate
	if [ -d /etc/logrotate.d/httpd-prerotate ]; then
	    run-parts /etc/logrotate.d/httpd-prerotate
	fi
    endscript
    postrotate
	if pgrep -f ^/usr/sbin/apache2 > /dev/null; then
	    invoke-rc.d apache2 reload 2>&1 | logger -t apache2.logrotate
	fi
    endscript
}

リスタートして設定を反映

sudo service apache2 restart

hplip

サイトから最新を取得のこと

スキャナではプラグインが読み込めない場合に、

$ sudo apt install apparmor-utils
$ sudo aa-disable /usr/share/hplip/plugin.py

hplip-3.22.6(最新のプラグイン)-plugin.runなどが必要になることがある。

※ Linux(UBUNTU)で、セットアップ時に、本体が探せない場合があり、Lan接続で、HPE070EA6EA3CF.local (うちの機体の場合)と検索が必要

バックアップメモの付箋

$ sudo add-apt-repository ppa:umang/indicator-stickynotes
$ sudo apt update
$ sudo apt install indicator-stickynotes


ログイン音をつける・・・(フタを閉めてしまうので進みが判らないため)

自動起動に

/usr/bin/canberra-gtk-play --id="desktop-login" --description="GNOME Login"


を追加する。
最後にフルスキャン→メール送信テスト

 rootでclam-full.shを実行・・・2,3時間後にScan結果がメールでくればOK


Word Pressに「imagickがインストールされていない」と言われます

 表題通りですが、PHP用にpeclというphpの拡張モジュール作成コマンドをかけて作らないといけません。(面倒なので無視してもよかったんですがやっちゃいました。) 用意

$ sudo apt install imagemagick
$ sudo apt install libmagickwand-dev
$ sudo apt install pkg-config
$ sudo apt install php-dev


ビルド

$ sudo pecl install imagick
19 source files, building
running: phpize
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731
Please provide the prefix of ImageMagick installation [autodetect] :{Press Enter} 
・・・
You should add "extension=imagick.so" to php.ini


設定

sudo gedit /etc/php/8.1/apache2/php.ini
950: extension=imagick.so


オプションのモジュール intl をインストール

$ sudo apt install php8.1-intl
$ sudo systemctl reload apache2

geoipupdate=Slimstatの国名の更新設定

$ sudo apt install geoipupdate
$ geoipupdate -V

バージョン4以上ならOK
取っておいた以下のライセンス入りファイルを置く。

/etc/GeoIP.conf

ダウンロードのテスト

$ sudo geoipupdate -v

rootのupdate_giolite2でアップデートしているので。取って起いたものをコピー。実行権限を与え、テストしてみること。


NextCroudは使ってないので、設定しない。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-09-15 (木) 18:25:18