検索条件
全1件
(1/1ページ)
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" $
$ sudo raspi-config 1 Change User Password 2 Hostname ttm.jimba.ddo.jp 3 Boot Options B1 Desktop / CLI 4 Localisation Options I1 Change Locale I2 Change Timezone I4 Change Wi-fi Country 5 Interfacing Options P2 SSH $・pi ユーザパスワードを変更する。
$ sudo apt-get update $ sudo apt-get upgrade
$ sudo apt-get install apache2 apache2-docApache2 インストールで Raspbian に登録される httpd ユーザを確認します。
$ grep www /etc/passwd www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin $ここで確認できた www-data ユーザで adiary を動かす権限を管理すると、運用が楽になります。
$ cd /etc/apache2/mods-available $ cp -p {,/tmp/}mime.conf $ sudo vi mime.conf $ diff {,/tmp/}mime.conf 219c219 < AddHandler cgi-script .cgi --- > #AddHandler cgi-script .cgi $次の Module 有効化も cgi の動作設定です。
$ sudo apache2ctl -M | grep cgi $ sudo a2enmod cgi $ sudo apache2ctl -M | grep cgi cgid_module (shared)adiary.cgi を消したいときに使うモジュール rewrite を読み込んでおきます。
$ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 $ sudo systemctl restart apache2apache2 のバージョン情報を表示させないように秘匿する設定です。
$ grep -i includeoptional /etc/apache2/apache2.conf IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf $ cd /etc/apache2/conf-available $ sudo cp -p security.conf{,_$(date +%Y%m%d)} $ sudo vi security.conf (書き換え) $ sudo diff security.conf{,_$(date +%Y%m%d)} 25c25 < #ServerTokens OS --- > ServerTokens OS 27d26 < ServerTokens Prod 36,37c35,36 < ServerSignature Off < #ServerSignature On --- > #ServerSignature Off > ServerSignature On $ $ sudo systemctl reload apache2他の設定は、後で行います。
$ sudo cp -p /etc/dhcpcd.conf{,_$(date +%Y%m%d)} $ sudo vi /etc/dhcpcd.conf --- 以下を追記 --- interface eth0 static ip_address=192.168.0.2/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 static domain_name=jimba.jp ------------------ $ sudo diff /etc/dhcpcd.conf{,_$(date +%Y%m%d)} $ sudo shutdown -r nowIPアドレス等は、構築時に読み替えます。
設定項目 | 設定例 | 意味 |
---|---|---|
interface | eth0 | eth0 の IP アドレスを指定します。 |
static ip_address | 192.168.0.2/24 | IPアドレスを静的に指定します。 /24 は、サブネットマスク 255.255.255.0 を示しています。 |
static routers | 192.168.0.1 | デフォルトゲートウェイを静的に指定します。 |
static domain_name_servers | 192.168.0.1 | DNS (Domain Name System) を静的に指定します。 |
static domain_name | jimba.jp | ホストが属するドメイン名を静的に指定します。 Web で設定するドメイン (URL) とは別物です。 |
$ sudo apt-get install ntp ntp-doc ntpdate dnsutils設定するドメインが名前解決できるか確認します。
$ dig ntp.nict.jp +shortntp でのやりとりができるか確認します。
$ ntpdate -q ntp.nict.jp server 2001:df0:232:eea0::fff4, stratum 0, offset 0.000000, delay 0.00000 server 2001:df0:232:eea0::fff3, stratum 0, offset 0.000000, delay 0.00000 server 133.243.238.164, stratum 1, offset 0.000458, delay 0.03119 server 133.243.238.163, stratum 1, offset 0.000286, delay 0.03084 server 133.243.238.244, stratum 1, offset 0.000657, delay 0.03125 server 133.243.238.243, stratum 1, offset -0.000104, delay 0.03133 8 Feb 16:40:43 ntpdate[18685]: adjust time server 133.243.238.163 offset 0.000286 sec $出力内容から stratum が 0 でなければ OK です。
$ sudo cp -p /etc/ntp.conf{,$(date +%Y%m%d)} $ sudo diff /etc/ntp.conf{,$(date +%Y%m%d)} $ sudo vi /etc/ntp.conf --------------------------------------------------------- (pool をコメントアウトして、serverに ntp.nict.jp を指定する) --------------------------------------------------------- $ sudo diff /etc/ntp.conf /etc/ntp.conf.$(date +%Y%m%d) 20,24c20,24 < #pool 0.debian.pool.ntp.org iburst < #pool 1.debian.pool.ntp.org iburst < #pool 2.debian.pool.ntp.org iburst < #pool 3.debian.pool.ntp.org iburst < server ntp.nict.jp iburst --- > pool 0.debian.pool.ntp.org iburst > pool 1.debian.pool.ntp.org iburst > pool 2.debian.pool.ntp.org iburst > pool 3.debian.pool.ntp.org iburst > $ sudo systemctl stop ntp $ sudo ntpdate ntp.nict.jp $ sudo systemctl start ntp $ ntpq -p
$ type git > /dev/null 2>&1 || sudo apt install git
$ sudo apt-get install perlmagick
$ sudo apt-get install libnet-https-any-perl
$ sudo useradd -d /home/example -m -g 1000 -s /bin/bash example $ sudo passwd example $ sudo vigr -> pi と同じ場所に example を追記 $ $ sudo su - # cd /etc/sudoers.d # cp -p 010_{pi,example}-nopasswd # vi 010_example-nopasswd :%s/pi/example/ :x # exit $ユーザ example は、環境に応じて読み替えてください。
$ sudo usermod -s /sbin/nologin pi
$ cd /var/www $ sudo git clone https://github.com/nabe-abk/adiary $ $ cd adiary $ cp adiary.conf.cgi{.sample,} $ cd ../ $ $ sudo chown -R 33:33 adiary $ sudo chmod -R 750 adiary $ sudo find adiary -name "*.png" -or -name "*.gif" -or -name "*.txt" -exec chmod 640 {} \; $adiary ディレクトリ全体が apache2 のユーザ権限 www-data (ユーザID 33) で動作するので、750 で良い。
$ sudo find /var/www/adiary -name .htaccess /var/www/adiary/skel/.htaccess /var/www/adiary/data/.htaccess /var/www/adiary/__tool/.htaccess /var/www/adiary/plugin/.htaccess /var/www/adiary/__cache/.htaccess /var/www/adiary/info/.htaccess /var/www/adiary/lib/.htaccess /var/www/adiary/skel.local/.htaccess
$ cd /etc/apache2/sites-available $ sudo vi 201-adiary.conf (Config writing...) $ sudo cat 201-adiary.conf <VirtualHost *:80> ServerName ttm.jimba.ddo.jp ServerAdmin xxx@jimba.ddo.jp DocumentRoot /var/www/adiary <Directory /var/www/adiary> Options ExecCGI AllowOverride None </Directory> <Directory /var/www/adiary/__cache> order allow,deny deny from all </Directory> <Directory /var/www/adiary/data> order allow,deny deny from all </Directory> <Directory /var/www/adiary/skel> order allow,deny deny from all </Directory> <Directory /var/www/adiary/__tool> order allow,deny deny from all </Directory> <Directory /var/www/adiary/plugin> order allow,deny deny from all </Directory> <Directory /var/www/adiary/info> order allow,deny deny from all </Directory> <Directory /var/www/adiary/lib> order allow,deny deny from all </Directory> <Directory /var/www/adiary/skel.local> order allow,deny deny from all </Directory> ErrorLog ${APACHE_LOG_DIR}/ttm.error.log CustomLog ${APACHE_LOG_DIR}/ttm.access.log combined </VirtualHost>【参考情報】/var/www/adiary/.htaccess に書きたい内容は、上記主設定ファイル (201-adiary.conf) の <Directory /var/www/adiary> ~ </Directory> の中に書きます。
普通は可能であれば .htaccess ファイルの使用は 避けてください。.htaccess ファイルに書こうと考えるようなすべての設定は、サーバの主設定ファイルのセクションで同じように行なうことができます。
Apache HTTP Server Tutorial: .htaccess files - Apache HTTP Server Version 2.4
$ sudo a2ensite 201-adiary Enabling site 201-adiary. To activate the new configuration, you need to run: systemctl reload apache2 $ $ sudo systemctl reload apache2
$ sudo rm /var/www/adiary/skel/.htaccess $ sudo rm /var/www/adiary/data/.htaccess $ sudo rm /var/www/adiary/__tool/.htaccess $ sudo rm /var/www/adiary/plugin/.htaccess $ sudo rm /var/www/adiary/__cache/.htaccess $ sudo rm /var/www/adiary/info/.htaccess $ sudo rm /var/www/adiary/lib/.htaccess $ sudo rm /var/www/adiary/skel.local/.htaccessひとつずつ消すのが面倒に思う人は、次のようなコマンドでも良いかもしれません。
$ sudo find /var/www/adiary -name ".htaccess" -exec rm {} \;
$ cd /var/www/adiary $ cp -p index.html{,_backup_$(date +'%Y%m%d')} $ cat /dev/null > index.html $ vi index.html (書き換え) $ cat index.html <html> <head> <meta http-equiv="Refresh" content="0;URL=adiary.cgi"> </head> </html> $
User-agent: Googlebot Disallow: User-agent: * Disallow: /
$ sudo su -s /bin/bash www-data $ cd ~/adiary $ git fetch