エントリー

カテゴリー「本サーバ関連」の検索結果は以下のとおりです。

ページ移動

freoのphp7.3対応

ブログシステムであるfreoは独自仕様を追加しているため個別にバージョンアップしてきた

これまでphp5で動作していたが,Armbian Bullseyeとなってphp7では動作しないので対応する

freoで対応する部分は3箇所

①初期設定

freo導入時に最初にトップページを開くと環境設定を行うがphp7では正常に動作しない

こちらに書かれているとおりで対応できる

config.phpを編集すれば対応させなくても問題ない

②smarty

上記サイトにも記載があるsmarty2の「Smarty_Compiler.class.php」に問題がある(7.3では非推奨)

  • コンストラクタのメソッド名を変更(クラス名と同じでは駄目になった)
function Smarty_Compiler()

(変更)

function __construct()
  • preg_replaceの修飾子eは廃止
$source_content = preg_replace($search.'e', "'"
  . $this->_quote_replace($this->left_delimiter) . 'php'
  . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
  . $this->_quote_replace($this->right_delimiter)
 . "'"
, $source_content);

(変更)

$source_content = preg_replace_callback($search
, function ($matches) {return $this->_quote_replace($this->left_delimiter) . 'php'
. str_repeat("\n", substr_count($matches[0], "\n"))
. $this->_quote_replace($this->right_delimiter);}
, $source_content);
  • each()が非推奨なので同等な別コードに変更
list(, $block) = each($this->_folded_blocks);

(変更)

$block = current($this->_folded_blocks);
next($this->_folded_blocks);

最新の1.21.0のsmartyを使えば問題ないことが後で判明

③人気コンテンツプラグイン

エラーが発生しているが必要ないので削除

※)このプラグインはデータ量が膨大になることも理由の1つ(バックアップのSQL文のほとんどを占める)

(参考)

  • google検索「php5 php7 違い
  • php.ini(/etc/php/7.3/apache2/php.ini)を編集して画面にphpのエラー表示(logファイルを参照しないても良くなる)
display_errors = On    #was Off
  • php7.4でも問題なし

新Webサーバ(ソフトウェア)

新しいWebサーバのソフトウェアの設定

OS準備

WS_20220612_000.png

armbianの最新版「Armbian_22.05.1_Nanopineo2_bullseye_current_5.15.43.img」をDLし,32GBマイクロSDカード(バックアップにも利用する予定なので最大の32GB)に書き込み

WS_20220612_001.png

PowerON

初回ログイン:root/1234

※)ここまででマイクロSDカード32GB全体が使用されている

管理者用ユーザの設定(UID=1000になる),nanopi/xxxxxx に設定

※)当ネット内ではUID=1001を管理者用にしているのでUID=1000は予備の管理ユーザにしている

最新版にする(後でも良い)

# apt update
# apt safe-upgrade

UID=1001の管理者用ユーザを作成

# addgroup --gid 1001 myhome
# adduser --uid 1001 --gid 1001 xxxx

sudoグループに登録

# adduser xxxx sudo
ネットワーク設定
# nmtui

address 192.168.xxx.xxx/24
gayeway 192.168.xxx.xxx
dns1 192.168.xxx.xxx
dns2 192.168.xxx.xxx
search domeins inoshita.jp
再起動
# shutdown -r now
SSDにパーティション設定

ファイルシステム異常時に対応しやすいようにOSとWebデータを別パーティションにする

スワップはSSDなので特に個別パーティションにする必要はない

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x0992abb1.

Command (m for help): p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Tech
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0992abb1

Command (m for help):

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 268437503 268435456 128G 83 Linux
/dev/sda2 268437504 1953525167 1685087664 803.5G 83 Linux

Command (m for help):

# fdisk /dev/sda -l
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Tech
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x801feee3

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 268437503 268435456 128G 83 Linux
/dev/sda2 268437504 1953525167 1685087664 803.5G 83 Linux
#
ルートディレクトリの変更
# nand-sata-install

WS_20220612_003.png

WS_20220612_004.png

WS_20220612_005.png

WS_20220612_006.png

WS_20220612_008.png

WS_20220612_009.png

最後にリブート → SSDから起動

スワップ設定

2GBのファイルを作製

# dd if=/dev/zero of=/var/swapfile bs=2048 count=1M
1048576+0 records in
1048576+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 66.0937 s, 32.5 MB/s
# chmod 0600 /var/swapfile
# mkswap /var/swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=59c14259-636d-4902-95c4-b65a92418cb3

# free
total used free shared buff/cache available
Mem: 494436 104756 8264 596 381416 377964
Swap: 247216 256 246960
# swapon /var/swapfile
# free
total used free shared buff/cache available
Mem: 494436 106340 6588 596 381508 376408
Swap: 2344364 256 2344108
#

/etc/fstabにswap設定を追加

/var/swapfile swap swap defaults 0 0
sda2をマウント
# mkfs /dev/sda2
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 210635958 4k blocks and 52666368 inodes
Filesystem UUID: dff20d14-e20c-4e0b-8e4d-719af222d55f
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000

Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
#

/etc/fstabにswap設定を追加

UUID=dff20d14-e20c-4e0b-8e4d-719af222d55f /srv ext4 defaults,noatime,commit=600,errors=remount-ro,x-gvfs-hide 0 0
OR
/dev/sda2 /srv ext4 defaults,noatime,commit=600,errors=remount-ro,x-gvfs-hide 0 1

① デバイスファイル名 デバイスファイル名もしうはLABEL、UUIDを指定
② マウントポイント ファイルシステムのマウント先のディレクトリ
③ ファイルシステムの種類 ファイルシステムの種類を指定
④ マウントオプション マウントする際のオプションを指定します
⑤ dumpフラグ 1であればdumpコマンドによるバックアップの対象になる。etx2/3は1を指定し、その他は0を指定
⑥ fsckがチェック linuxが起動時にfsckがチェックする順序を指定

マウントオプション
noatime ファイルシステムでの atime 更新を無効にする

ここで再起動したら起動しなくなった

コンソールに接続して原因を探る(接続は115200bpsのN81)

IMG_20220611_203320_1.jpg

...
[ OK ] Finished File System Check…6-af99-4867-a839-f8025658c6e5.
Mounting /media/mmcboot...
[FAILED] Failed to mount /srv.
See 'systemctl status srv.mount' for details.
[DEPEND] Dependency failed for Local File Systems.
[ OK ] Mounted /media/mmcboot.
...

どうやらマウントオプションのミスらしい

UUID=dff20d14-e20c-4e0b-8e4d-719af222d55f /srv ext4 defaults,noatime 0 2

に修正して解決(commit=600,errors=remount-ro,x-gvfs-hide を外した)

apache
# apt install apache2

(追加)freoを動作させるための設定

①ディレクトリの定義

<Directory /xxx/www/freo>
     RewriteEngine On
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule (.*)$ /freo/index.php/$1 [L]
</Directory>

②mod_rewriteの有効化(debian系はaptのセットアップでは有効になっていないようだ)

# cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
# systemctl restart apache2.service
mysql(mariadbに変更)
# apt install mariadb-server
$ mysql -u root -p

(ユーザ一覧)MariaDB [(none)]> select host, user from mysql.user;
(ユーザ登録)MariaDB [(none)]> create user 'user-name'@'localhost' identified by 'user-password';
(パスワード変更)MariaDB [(none)]> alter user 'user-name'@'localhost' identified by '(new-password)';
php
# apt install php

(追加)php関連ファイルのインストール

# apt install php-common php-cli php-fpm php-mysql php-dev php-mbstring php-zip
phpmyadmin

Debian10(buster)以降,aptではセットアップできないので以下の手順でセットアップ

https://phoenixnap.com/kb/how-to-install-phpmyadmin-on-debian-10

(追加)

DBのインポートはSQLファイルの制限(2048k bytes)があるのでfreoのDBはmysqlコマンドでインポートする

$ mysql -u freo -p freo < freo.sql
Enter password: (password)

$
nfs
# apt install nfs-client
# apt install autofs
# systemctl restart autofs

(前回と同じ)

samba
# apt install samba
# vi /etc/samba/smb.conf

# systemctl restart smbd
残件

残りはBlog設定とDBデータの移行

UPSが完成していないのでサーバの移行は後日

新Webサーバ(ハードウェア)

新しいWebサーバのハードウェアを実装

CPUはNanoPi NEO2を使用(3年前に購入していたバージョン

IMG_20220604_195422.jpgIMG_20220604_195433.jpg

IMG_20220604_195451.jpg

正式な製品になって箱入りでピンとマニュアルが添付

IMG_20220604_195743.jpg

IMG_20220604_195816.jpgIMG_20220604_195831.jpg

このバージョンではマイクロSDカードスロットが変更されていてNanoPiと同じ挿入ロックが付いている

またイーサーネットコネクタも変更され上下が逆になっていた

IMG_20220611_182253.jpg

上下ともNanoPi NEO2で,上の方が新しいバージョン(専用ケースのパネルがNanoPiと同じになった)

ストレージは1TのSSDを使用する

IMG_20220605_152946.jpg

放熱をどうするか検討していたが必要なくなった(と,考えている)

IMG_20220605_153124.jpg

IMG_20220605_153139.jpg

専用ケースのボードセットして準備完了

IMG_20220605_154635.jpg

裏にはリアルクロック用のバックアップバッテリーを搭載

IMG_20220605_155321.jpg

今のところ専用ケースの加工無しでいけそう

新WebサーバのUPSを設計

現在は異常なく動作しているが,OSの更新もなくハードウェアも古く流石にやばそうなのでWebサーバを更新(コツコツやる予定)

CPUボード

CPUは既に準備している「Nano Pi NEO2」と専用ケースを使う

IMG_20181215_213250855.jpg

当初はケースにFANが必要かと考え加工するつもりだったがSSD(1GB)を使うつもりなのでFANは無しの予定(以下は120GBで試験中の物)

IMG_20181209_175709473.jpg

UPS

この街は瞬断どころか停電することがあるのでUPSが必須

初夏には一度直ぐ側で雷サージも起きて4時間近く停電になったこともある(落雷だったら生きていなかったかも)

fig20220528001.png

バッテリーは単4サイズのニッケル水素充電池を考えている

IMG_20220530_192208.jpg

  • 必要電圧は12V(10V位で大丈夫なので)入力を12V,出力を10~11.5V位にする
  • ニッケル水素充電池は8本の9.6VにしてDCDCで出力を調整(ニッケル水素充電池はスポット溶接で組電池化)
  • 充電は50~80mAの定電流,満充電電圧は11~12V位になる

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed