ただただいろんなサービスを1つのコンテナにインストールしていってそのコマンドをメモっているだけのページ

ただただいろんなサービスを1つのコンテナにインストールしていってそのコマンドをメモっているだけのページ

ばーっと作ったものを列挙したものです。ごちゃごちゃしてて動かないものや抜けなどあったらすみません。


入れたものたち

  1. Debian buster
  2. nginx
    1. SSL対応
  3. MySQL
  4. phpMyAdmin
  5. WordPress


使ったソフトウェアのバージョン

ホスト

Ubuntu 18.04.4 LTS

Docker version 19.03.6, build 369ce74a3c


コンテナ

Debian GNU/Linux 10 (buster) 10.7

nginx/1.14.2

mysql Ver 8.0.22 for Linux on x86_64 (MySQL Community Server - GPL)


nginx

Dockerfile

RUN apt-get install -y nginx php-fpm && apt-get clean
RUN cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.original
COPY srcs/nginx.conf /etc/nginx/
COPY srcs/nginx.default /etc/nginx/sites-available/default
RUN rm /etc/nginx/sites-enabled/default \
    && ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
RUN mkdir /etc/nginx/cert
COPY srcs/cert/* /etc/nginx/cert/
ADD nginx.conf /etc/nginx/


パス

コンフィグファイルパス

/etc/nginx/nginx.conf

公開ファイルのパス

/var/www/html


動作確認

# telnet localhost 80


Escape character is

が表示されたら

 GET / HTTP/1.0

これでhtmlのタグ等が表示されたらnginxは起動している。


SSL

参考にしたページ

https://catalina1344.hatenablog.jp/entry/2018/09/30/154104


秘密鍵の作成

# openssl genrsa 2048 > server.key
Generating RSA private key, 2048 bit long modulus (2 primes)
...................................................................+++++
......................................+++++
e is 65537 (0x010001)


証明書の作成

# openssl req -new -key server.key > server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,

If you enter '.', the field will be left blank.

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:42tokyo
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:username
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


作成した証明書に署名

# openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=C = JP, ST = Some-State, O = 42tokyo, CN = username
Getting Private key


nginxの設定に追記

    listen       443 ssl;

    ssl           on;
    ssl_certificate     /etc/nginx/cert/server.crt;
    ssl_certificate_key /etc/nginx/cert/server.key;


MySQL

参考にしたページ

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/


インストール

apt-get install wget lsb-release gnupg
wget https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb
export DEBIAN_FRONTEND=noninteractive
dpkg -i mysql-apt-config_0.8.16-1_all.deb
apt-get update
apt-get install libaio1 mysql-server


インストール先

バイナリ:/usr/bin

ファイル:

/usr/lib/mysql

/usr/share/mysql-8.0

/var/lib/mysql

/etc/mysql


起動

# mysqld_safe --user=mysql &


起動確認

# mysqladmin version
# mysqladmin variables


動作確認

# mysqladmin ping
mysqld is alive


シャットダウン

# mysqladmin shutdown
# mysqladmin -u root shutdown


コマンド

DB一覧

mysqlshow

テーブル表示

mysqlshow <table name>

SELECT文の例

mysql -e "SELECT Host,Db,User FROM db" mysql


ログイン

mysql -u root


phpMyAdmin

参考にしたページ

https://www.codeflow.site/ja/article/how-to-install-phpmyadmin-from-source-debian-10


インストール

apt install php-mbstring php-zip php-gd
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.4/phpMyAdmin-5.0.4-all-languages.tar.gz
tar zxvf phpMyAdmin-5.0.4-all-languages.tar.gz
mv phpMyAdmin-5.0.4-all-languages/ /usr/share/phpmyadmin
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin
sed -e "s/\$cfg\['blowfish_secret'\] = '';/\$cfg\['blowfish_secret'\] = 'mamgpuemrimodiemwialgnmfanguieng';/" /usr/share/phpmyadmin/config.sample.inc.php > /usr/share/phpmyadmin/config.inc.php 


phpMyAdminのアクセスアカウントをMySQLに作る

mysqlコマンドで入り、以下

CREATE USER 'pma'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
ALTER USER 'pma'@'localhost' IDENTIFIED WITH mysql_native_password by 'pmapass';
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' by '';


WordPress

参考にしたページ

https://ja.wordpress.org/support/article/how-to-install-wordpress/


インストール

wget https://ja.wordpress.org/latest-ja.tar.gz -O wordpress-latest.tar.gz
tar zxvf wordpress-latest.tar.gz