ubuntu20.04LTS Serverの導入

HP EliteDesk 800G2 DM M2.SSDとHDD 8GBメモリ構成の物を入手したので、新たにサーバー構成することにした。HDDはexfatとし、sambaで共有できるようにした。Linuxフォーマットだと、データを抜きだすのが面倒だ。

Serverは基本的にはコマンドラインから操作する、USBメモリのマウントなど簡単に行えるようにするために、ubuntu-mate-desktopを使えるようにした。またダイナミックDNSを使いサーバーを公開可能にした。そのためにSoftEther VPN Serverを導入することにした。基本的にコマンドラインで手打ちする気はないので、WindowsのターミナルソフトとWinSCPを使ってシステムを構成していった。以下に手順を示す。

①Ubuntu20.04LTSサーバーをM.2SSDにインストールする。ifconfig、telnetを使うために、apt install telnetd、apt install net-toolsをインストールした。sshはsshd_configのPermitRootLogin without-passwordを PermitRootLogin yesに変更し保存してWinSCPでrootでログインできるようにした。移行は下記メモを元にWindowsからコピー&ペーストで作業を進めていった。

1.ビルド環境を整える。
 apt-get install build-essential
2.phpのインストールと設定
①phpのインストール
  apt-get install php(php7.4がインストールされる。)
②モジュールの設定
  # MySQL連携のために必要
  apt-get install php-mysql
  apt-get install php-curl
  apt-get install mcrypt
  apt-get install php-intl
phpmyadminで扱えるデータサイズを拡大するために/etc/php5/apache2/php.iniの以下の値を変更する。
 memory_limit = 600M 
 post_max_size = 500M 
 upload_max_filesize = 500M 
 max_input_time = 60
3.MySQLのインストール
apt install -y mariadb-server
  mysql -u root
  SQLのターミナルに入れるがサーバーが起動していないので別のターミナルでSQLサーバーを起動し以下のコマンドを実行
 特権ユーザ(ユーザ作成権限はDBの管理権限等を持つユーザ)を追加するには下記コマンドを実行します。
 (rootユーザのみでも対応可能であるため、追加しなくても良い)
 GRANT ALL PRIVILEGES ON . TO user@localhost IDENTIFIED BY 'passwd' WITH GRANT OPTION;

③管理ツールのインストールPHPMyAdmin
    apt-get install phpmyadmin
  webサーバの選択画面が表示されるので、apache2を選択します。
  dbconfig-commonの設定をするか?と聞かれるが「はい」を選択します。
 
  MySQL管理ツールの設定
以下のコマンドを実行して、PHPMyAdminとApache2を連携をします。
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin
/etc/apache2/sites-available/000-default.confにInclude /etc/apache2/conf-available/phpmyadminを追加する。
apacheの再起動
service apache2 restart
3.apache2追加モジュールセットアップ
  ※apacheのフォルダーのアクセス権をwww-dataに変更する。
   ※実行ユーザー・グループは/etc/apache2/envvarsで指定されているのでフォルダーの所有権をこのグループに設定すると
0700のアクセス権で問題無く動作可能になる
chown www-data /var/www (所有者を変更)
chown www-data:www-data /var/www (グループを変更
   CGIを有効にする
  sudo a2enmod cgi
      /etc/apache2/mods-enabled/mime.conf でAddHandler cgi-script .cgiを有効にする。
mode_rewriteを有効化(.htaccess)
a2enmod rewrite
④SSLの有効化 a2enmod ssl 無効にするには a2dismod ssl
4.デスクトップ環境のインストール apt install ubuntu-mate-desktop
5.SSLを使えるようにするためにLet's Encrypt クライアントを導入する。
  sudo apt-get install letsencrypt python-letsencrypt-apache
  softether vpn serverをインストールし、インターネットに公開できるようにした後、証明書を取得しSSLを有効化する。