ただただいろんなサービスを1つのコンテナにインストールしていってそのコマンドをメモっているだけのページ
ただただいろんなサービスを1つのコンテナにインストールしていってそのコマンドをメモっているだけのページ
ばーっと作ったものを列挙したものです。ごちゃごちゃしてて動かないものや抜けなどあったらすみません。
入れたものたち
- Debian buster
- nginx
- SSL対応
- MySQL
- phpMyAdmin
- 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