Closed14

GCPでの構築メモ

みなみんみなみん

概要

Google Cloud Platformを使ってとりあえず環境を構築する。その時のメモ

みなみんみなみん

流れ

  1. 利用登録
  2. クレジットカードの登録
  3. プロジェクトの作成
  4. GCEインスタンスの作成
  • 名称
  • リージョン
    • asia-northeast(東京)
  • 任意のOS
  • HTTPトラフィックを許可
  1. メタデータ
  • 公開鍵の登録
  1. SSHで接続
  • 公開鍵の生成
  • 公開鍵の登録
  • 接続
  • [パスワードの変更]
みなみんみなみん

公開鍵の生成

ホームディレクトリの/.sshディレクトリ

$ ssh-keygen -C "[適当なユーザ名]@[適当な名称(どのパソコンとか)]"
Enter file in witch to save the key ~ : [Enter押す]
Enter passphrase (empty for no passphrase): [任意のパスワード]
Enter same passphrase again: [同じパスワード]

$ cat id_rsa.pub
みなみんみなみん

SSHで接続

$ ssh [先ほど付けた適当なユーザ名]@[インスタンス外部IP] -i [秘密鍵の場所]

パスワードの入力を求められるので[先ほど入力したパスワード]を入力する

みなみんみなみん

Apacheの導入

$ apt-get update
$ apt-get install apache2
...
$ systemctl start apache2
みなみんみなみん

動作しているか確認

$ systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-09-21 09:31:30 UTC; 9min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 3057 (apache2)
      Tasks: 55 (limit: 4693)
     Memory: 8.9M
        CPU: 65ms
     CGroup: /system.slice/apache2.service
             ├─3057 /usr/sbin/apache2 -k start
             ├─3059 /usr/sbin/apache2 -k start
             └─3060 /usr/sbin/apache2 -k start

Sep 21 09:31:30 inst-01 systemd[1]: Starting The Apache HTTP Server...
Sep 21 09:31:30 inst-01 systemd[1]: Started The Apache HTTP Server.
みなみんみなみん

PHPの導入

$ apt install php-common libapache2-mod-php php-cli
みなみんみなみん

PHPの動作確認

<?php
phpinfo()
?>

この内容のphpinfo.phpファイルをhttp/httpsから閲覧できる場所に配置

みなみんみなみん

MySQLの導入

$ cd /tmp
# apt install libaio1
# apt install mariadb-server mariadb-client
みなみんみなみん

WordPressの導入

# mysql -u root -p
> CREATE USER "user_wordpress"@localhost IDENTIFIED BY "[password]";
> CREATE DATABASE my_wordpress;
> GRANT ALL PRIVILEGES ON my_wordpress.* TO "user_wordpress"@localhost IDENTIFIED BY "[password]";
> FLUSH PRIVILEGES;
> QUIT;
# cd /var/www/html
# mkdir apps
# cd apps
# curl -OL http://ja.wordpress.org/latest-ja.tar.gz
# tar -xzvf latest-ja.tar.gz
# touch ./wordpress/.htaccess
# chmod 660 ./wordpress/.htaccess
# cp ./wordpress/wp-config-sample.php ./wordpress/wp-config.php
# mkdir ./wordpress/wp-content/upgrade
# sudo chown -R root:www-data ./wordpress
# sudo chmod -R g+w ./wordpress/wp-content
# sudo chmod -R g+w ./wordpress/wp-includes
# cd wordpress
# vi wp-config.php

wp-config.phpの内容で以下の部分を書き換え。

define('DB_NAME', 'my_wordpress');
define('DB_USER', 'user_wordpress');
define('DB_PASSWORD', '[password]');

編集を終了

# curl -s https://api.wordpress.org/secret-key/1.1/salt/

結果を全てコピーしてwp-config.phpの以下のように貼り付ける。

/**#@+
 * 認証用ユニークキー
 *
 * それぞれを異なるユニーク (一意) な文字列に変更してください。
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます
。
 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせ
ることになります。
 *
 * @since 2.6.0
 */

define('AUTH_KEY',         '~~~');
define('SECURE_AUTH_KEY',  '~~~');
define('LOGGED_IN_KEY',    '~~~');
define('NONCE_KEY',        '~~~');
define('AUTH_SALT',        '~~~');
define('SECURE_AUTH_SALT', '~~~');
define('LOGGED_IN_SALT',   '~~~');
define('NONCE_SALT',       '~~~');

そして、再びwp-config.phpの内容で以下の文

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

の上に以下の文を追加する。

define('FS_METHOD', 'direct');

/etc/apache2に移動し、
apache2.confのファイルをバックアップとしてコピーする

sudo cp apache2.conf apache2.conf.bk

そして、apache2.conf

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

の文の下に以下の文を追加する。

<Directory /var/www/html/wordpress>
    AllowOverride All
</Directory>

WordPress用のPHPの導入

apt install php-mysqlnd
みなみんみなみん

Docker Engineの導入

$ curl -fsSL https://get.docker.com/ | sh

現在ログインしているユーザでdockerを使えるようにする
デフォルトだとrootでしか使えないのだと思われ。

$ sudo gpasswd -a $(whoami) docker

$ sudo gpasswd chgrp /var/run/docker.sock
設定後、GCPインスタンスを再起動する。

このスクラップは2022/09/21にクローズされました