Google Cloudに「Always Free プロダクト」という設定があり、以下の条件を満たすと費用がかからない。

  • f1-micro インスタンス(1 か月あたり、北バージニア [us-east4] を除く米国リージョンのみ)
  • 30 GB-月の HDD
  • 5 GB-月のスナップショット(一部のリージョン)
  • 1 GB の北米から全リージョン宛ての下り(外向き)ネットワーク(1 か月あたり、中国とオーストラリアを除く)

ここにサーバ移設をしようと、taskselでLAMP-serverのインストールを試みるが途中でエラーになってしまった。
f1-microのメモリは600MBのため、この手順ではメモリを使い切って(特にmysql)上手くいかない。
そこで、こちらのサイトを参考にしてメモリサイズを抑えるよう個別にインストールを行う。

apache,mariadbのインストール

# apt install -y apache2 apache2-utils
# chown -R www-data:www-data /var/www/html/
# apt install mariadb-server mariadb-client

MariaDBのメモリ使用量を抑えるため、こちらのサイトこちらのサイトを参考に/etc/mysql/mariadb.cnfに以下の設定を追加。

[mysqld]
performance_schema = off
key_buffer_size = 16M
query_cache_size = 2M
query-cache-limit = 1M
tmp_table_size = 1M
innodb_buffer_pool_size = 64M
innodb_log_buffer_size = 16M
max_connections = 25
sort_buffer_size = 16M
read_buffer_size = 256K
read_rnd_buffer_size = 512K
join_buffer_size = 128K
thread_stack = 196K

phpのインストールと設定

# apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
# vi /etc/php/7.4/apache2/php.ini
        ; post_max_size, upload_max_filesize を適正な値に設定

apache2の設定

# a2enmod cgi.load
# a2enmod rewrite.load
# a2enmod ssl.conf 
# a2enmod ssl.load

phpmyadminのインストールと設定

# apt install phpmyadmin
        ; apache2, dbconfig-common
        ; random password (/etc/phpmyadmin/config-db.phpで確認)
# mysql
MariaDB [(none)]> grant all on *.* to 'phpmyadmin'@'localhost' with grant option;
MariaDB [(none)]> quit;

RoundCubeのインストールとその他の設定

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime
# apt install net-tools
# adduser xxxxx
# usermod -G sudo xxxxx ; xxxxxをsudoユーザに指定
# apt install roundcube

これでLAMP-serverの動作は上手く行っている模様。再起動後のメモリ使用量は以下の通り。

# free
             total       used       free     shared buff/cache  available
Mem:        590316     218280      69936       3680     302100     265840
Swap:            0          0          0

7/5 追記) メモリが少ないので、こちらのサイトを参考にswapを追加。

# dd if=/dev/zero of=/swapfile bs=1M count=1000
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

再起動時にswapが自動マウントされるよう、fstabに以下の行を追加。

/swapfile none swap sw 0 0

修正、再起動後のメモリ使用量は以下の通り。

# free
             total       used       free     shared buff/cache  available
Mem:        590316     332780      51044       3628     206492     150372
Swap:      1023996       6412    1017584