manekineko倉金家ホームページ

趣味の部屋/LinuxMintサーバー化

サーバーソフトインストール

2022年11月15日開始 2022年11月18日更新
昔自宅サーバーとしていたCentOS7のホームページ等をヘテムルレンタルサーバーに移し、OSをLinuxMintに入れ替えて単なるパソコンとして使っています。でもそれだけではなんかつまりません。
で、今後のソフトのバージョンアップやホームページの改良やテストにやっぱりサーバー動作のできるパソコンがほしいので、公開はしないとしてもLinuxMintでサーバーをつくっておくことにしました。


WEBサーバーをつくるためにapache, php, mysql, sqlite, phpmyadmin 等々をインストールし、簡単な確認もやっておきます。
いわゆるLAMPサーバー(Linux,Apache,Mysql,Php)というごくベーシックな構成です。

インストールにはGUIインストールソフト Synaptic を使いました。
使いなれているのと関連するライブラリやソフトなどを確認しながらインストールしやすいもので。

apache2 インストール
apache2 をインストールします。
バージョンは 2.4.41-4ubuntu3.12 です。
apache2, apache2-bin, apache2-data, apache2-utils, libapr1, libaprutil1, liaprutil1-dbd-sqlite3, libaprutil1-ldap などがインストールされます。

インストール後念の為PCを再起動して(以下同様)ブラウザを立ち上げ、http://localhostで "Apache2 Ubuntu Default Page" が表示されればOKです。

MySQL インストール
MySQL をインストールします。インストール指定は mysql-server。
バージョンは 8.0.31-0ubuntu0.20.04.1 です。
mysql-server, libevent-core-2.1-7, libevent-pthreads-2.1-7, libhtml-template-perl, limecab2, mecab-ipadic, mecab-ipadic-utf8, mecab-utils, mysql-client-8.0, mysql-client-core-8.0, mysql-server-8.0, mysql-server-core-8.0
なぜかバージョン5.8のmysql-commonというのがすでに入っている。

最初に root のパスワードだけ設定しておきましょう。
kiyoshi@NEC-PC:~$ sudo mysql -u root -p
[sudo] kiyoshi のパスワード: PASSWORD
Enter password: (空リターン...rootパスワードはまだ空)
Welcome to the MySQL monitor. Commands end with ; or \g.
....なんたらかんたら....

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)

mysql> exit
Bye


php インストール
php をインストールします。
バージョンは、7.4.3-4ubuntu2.15 です。
php + libapache2-mod-php7.4, php-common, php7.4, php7.4-cli, php7.4-common, php7.4-json, php7.4-opcache, php7.4-readline がインストールされ、
さらに追加で
php-gd + php7.4-gd,
php-mbstring + libonig5, php7.4-mbstring,
php-mysql + php7.4-mysql,
php-sqlite3 + php7.4-sqlite3,
php-xml + php7.4-xml,
php-imagick + imagemagick6-common, liblqr-1-0, libmagickcore-6.q16-6, libmagickwand-6.q16-6, libmagickcore-6.q16-6-extra(追加), ttf-dejavu-core,
をインストールしました(されました)。
自分でインストール指定したものにさらに依存関係で入ってくるものがあって多数になっています。

WEB表示ディレクトリ(ディフォルトで /var/www/html)にファイル phpinfo.php をつくり
<?php phpinfo(); ?>
と書いて http://localhost/test.php でアクセスし、phpinfoが表示されればOKです。

phpmyadmin インストール
phpmyadmin をインストールします。
バージョンは 4:4.95+dfsg1-2 です。
大量の依存パッケージが入ります。計31個。
phpmyadmin, dbconfig-common, dbconfig-mysql, icc-profiles-free, javascript-common, libjs-jquery, libjs-openlayers, libjs-sphinxdoc, libjs-underscore, php-bz2, php-curl, php-google-recaptcha, php-phpmyadmin-motranslator, php-phpmyadmin-shapefile, php-phpmyadmin-sql-parser, php-phpseclib, php-psr-cache, php-psr-container, php-psr-log, php-symfony-cache, php-symfony-cache-contracts, php-symfony-expression-language, php-symfony-service-contracts, php-symfony-var-exporter, php-tcpdf, php-twig, php-twig-extensions, php-zip, php7.4-bz2, php7.4-curl, php7.4-zip

インストールの最後でWEBサーバーの種類、phpmyadmin用データベースをdbconfig-commonで設定するか、phpmyadmin用MySQLアプリケーションパスワード などを聞かれます。あとでやるのも面倒なのでデータベースを設定でパスワードを入れ、ここでやっておきます。

phpmyadminはこれでOK。
...と思っていたら少しどじっていました。
apache2の設定はあとでじっくりやるつもりで特に設定しないままphpmyadminを入れたのですが、その後apache2の動作ユーザ:グループ(www-data:www-data)をレンタルサーバーに合わせたところ、「設定ファイルに暗号化用の非公開パスフレーズが必要」とか「$cfg(/var/lib/phpmyadmin/tmp/)にアクセスできない」などの警告が出てしまいました。
/var/lib/phpmyadminや/etc/phpmyadminの必要なファイルのユーザ:グループをapache2に合わせてOKでした。
phpmyadminはapache2とMySQLの基本設定ができてから導入するのが正解みたいです。


SQLiteツール インストール
SQLiteデータベース用のツールもインストールしておきましょう。
SQLiteデータベースはバックアップやデータ移動などの使用が主でMySQLがメインですがあって悪くはないでしょう。

phpliteadmin というのもインストールしておきます。バージョン1.9.8.2
phpliteadmin + libjs-codemirror, phpliteadmin-themes(追加)

もうひとつsqlitebrowserというのもあったのでそれもインストールしておきます。
バージョン3.11.2-1build2
sqlitebrowser + libqscintilla2-qt5-15, libqscintilla2-qt5-l10n

どちらが使いやすいかわからないので試してみることにします。

さらに追加。adminerというのも見つけたので試してみよう。
これは一つのソフトでいろんなデータベースを扱えるとのこと。
バージョンは4.7.6-1
adminer + libpg5, php-pgsql, php7.4-pgsql
これが使えればひとつで済むのでいいかもしれない。

バージョン比較
ヘテムルサーバーとのバージョンの比較表(2023年3月5日現在)
   ヘテムル  Linux Mint 20Linux Mint 21
apache    2.4     2.4     2.4
MySQL    5.6     8.0     8.0
php    7.4     7.4     8.1
phpmyadmin    4.1     4.95     5.1.1

MySQLのバージョンが大きく違っています。これについては問題が出ないか心配です。
  ==> やはり問題が出ました。後述します。

その後さらに古いパソコンにLinux Mint 21を入れて試してみた。
phpのバージョンが8.1に上がっていてSQLサーバーとの接続に少し問題が出たが修正して問題なく動いた。

その他のソフト
その他は特に特別なソフトはありませんが、テキストエディタについては作業効率に影響するのでいいのを使いたいです。

今回 Geany(ジーニーと読む?) というエディタを含む軽いプラットフォーム的なソフトを導入してみました。
簡単なファイルブラウザが統合されておりファイルを探して開くのが容易で、さらにディレクトリ内のすべてのファイル内の文字列やパターンなどを検索してすぐに修正できたりするのでありがたい。
また各種のプログラム言語に応じて構造の色付けなどもやってくれるのでわかりやすい。

もうあまりたいしたことはやらないけど、むしろたまにやるとある程度使いやすいソフトが必要。