webサーバ
nginx
mkdocs
- mkdocs.yml
site_name: example
site_url: https://www.example.com/
theme:
name: material
language: ja
extra_css:
- stylesheets/extra.css
HTMLファイル
/var/www/mkdocs
mkdocs build
scp -r site example.com:
sudo rsync -av --delete site/ /var/www/mkdocs/
SVGファイル
dot -Tsvg network.dot -o network.svg
設定
- /etc/nginx/sites-available/mkdocs
server {
listen 80;
listen [::]:80;
server_name www.example.com;
root /var/www/mkdocs;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/mkdocs \
/etc/nginx/sites-enabled/mkdocs
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
HTTPS
sudo certbot --nginx -d www.example.com
Apacheの場合
次の表のとおりである。
| 項目 | |
|---|---|
| Webサーバ | Apache |
| 証明書 | Let's Encrypt |
Apache設定
次のコマンドは、次項のcertbotコマンドにより有効化されるので、実行は不要である。
$ sudo a2enmod ssl
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
Let's Encrypt設定
次のコマンドを実行する。
$ sudo apt install python3-certbot-apache
$ sudo certbot --apache
favicon.ico
/var/www/html/favicon.ico
analog
- /etc/analog.cfg
OUTFILE Report.html
$ analog /var/log/apache2/access.log*
$ nkf --url-input Report.html > Report._dec.html
その他
Google Search Console
ドメインで登録する場合、TXTレコードをDNSサーバに設定する。
sitemap生成
- https://www.mediawiki.org/wiki/Manual:Sitemap/ja
- https://www.mediawiki.org/wiki/Manual:GenerateSitemap.php/ja
MediaWiki バージョン: 1.32 – 1.39
$ php /usr/share/mediawiki/maintenance/generateSitemap.php --memory-limit=50M --fspath=/path/to/examplecom/sitemap/ --identifier=example.com --urlpath=/sitemap/ --server=https://www.example.com --compress=yes --skip-redirects
systemd timerで自動更新
systemdディレクトリ
- /etc/systemd/system
$ sudo systemctl edit --force --full sitemap.service
[Unit]
Description=sitemap
[Service]
Type=oneshot
ExecStart=/usr/bin/php /usr/share/mediawiki/maintenance/generateSitemap.php --memory-limit=50M --fspath=/var/www/html/sitemap/ --identifier=medeshima.com --urlpath=/sitemap/ --server=https://www.medeshima.com --compress=yes --skip-redirects
$ sudo systemctl edit --force --full sitemap.timer
[Unit]
Description=sitemap
[Timer]
OnCalendar=daily
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target
$ sudo systemctl enable sitemap.timer
$ sudo systemctl start sitemap.timer
グローバルIP取得
Webサーバ
- /var/www/html/ip/index.php
<?php
header("Content-Type: text/plain;charset=UTF-8");
echo $_SERVER['REMOTE_ADDR'];
?>
クライアント
$ curl https://SERVER/ip/
systemd timer
- ~/bin/ip-addr.sh
#!/bin/sh
/usr/bin/curl -s https://SERVER/ip/ | /usr/bin/mail -s "IP address" MAIL
$ chmod +x ~/bin/ip-addr.sh
ユーザ用systemdディレクトリ
- ~/.config/systemd/user
systemctl --user edit --force --full ip-addr.service
[Unit]
Description=IP address
[Service]
Type=oneshot
ExecStart=/home/USER/bin/ip-addr.sh
systemctl --user edit --force --full ip-addr.timer
[Unit]
Description=IP address
[Timer]
#OnCalendar=daily
OnCalendar=*-*-* 06:00:00
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target
$ systemctl --user enable ip-addr.timer
$ systemctl --user start ip-addr.timer
cronの場合
$ crontab -e
0 6 * * * /usr/bin/curl -s https://SERVER/ip/ | /usr/bin/mail -s "IP" MAIL