Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【Debian9】サーバーの初期設定+ネットワークの設定メモ

(過去記事のコピペなので内容が古いかも知れません)

すでにOSはインストール済のサーバーについて初期設定をしたのでメモ



まずは取扱説明書を読む

パスワードやら電源のボタンなどの説明がある
それすら知らないレベルでサーバーのことはわからん


計算機の電源を切るには

% su -
# shutdown -h now

計算機の再起動をするには

# su -
# shutdown -r now

または

# reboot

ユーザーを追加する

www.server-world.info

# adduser hoge

この後パスワードを聞かれるので設定する

シェルをtcshにしたい場合は以下の通り
取説には -s /bin/tcsh って書いてあったけどこれではエラーが出た
# adduser --shell /bin/tcsh hoge

ユーザーのパスワードを変更したい場合は
# passwd hoge

ただpasswdと打つとスーパーユーザーのパスワードを変更することになるので注意

HDDのパーティションを確認

# df -h

OSのversionを見るには

% cat /proc/version


今回はDHCPじゃなくて固定IPで運用する
取扱説明書にはnmtuiってコマンドでネットワーク設定をすると書いてあったので、
そのままやってみた
そしたら、意外とうまくいかなくて詰まった

Debian 9 Stretch : 初期設定 : ネットワークの設定 : Server World

にある通り以下の設定ファイルを修正する

# vi /etc/network/interfaces

# 以下追記
auto hoge
iface ens3 inet hoge
# IPアドレス
address 10.0.0.30
# ネットワークアドレス
network 10.0.0.0
# サブネットマスク
netmask 255.255.255.0
# ブロードキャストアドレス
broadcast 10.0.0.255
# デフォルトゲートウェイ
gateway 10.0.0.1
# ネームサーバー
dns-nameservers 10.0.0.10

みたいに書く(値は各人の環境で置き換える)
ただし、自分の環境ではOSがミニマムでインストールされていたのかDNSがきちんと動いていなかった

設定内容の詳細は
qiita.com



DHCPで動かしたかったら

# vi /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

でいいはず(やってないのでただのメモ)

ネットワークへの接続確認

ping [ゲートウェイサーバーのIPアドレス]
これで何も応答がないならなにかトラブってる

本当に素人なので↓とかのサイトを見ながらあれこれやってみた
blog.yyyak.com



DNSサーバーを登録する

dns関連のパッケージが入っていないので手でDNSサーバーのIPアドレス
/etc/resolv.conf に追記する
これでDSNサーバー問題が解決した

その後はパッケージを最新にしてアップデートする

# apt update
# apt upgrade

必要そうなパッケージをインストールする

# apt -y install dnsmasq resolvconf
# apt -y install emacs
# apt -y install tmux

sudoの設定

# apt -y install sudo

すでに入っていた

# visudo

最終行に
hoge ALL=(ALL) ALL
と追記する

他の設定で、再起動や電源を落としたり一部のコマンドをsudoで使えないようにすることも可能


ntpサーバーの設定

2つのサービスがある
chronyd : 仮想環境や NTP サーバと常に通信できない環境で選択
ntpd : NTP サーバと常に通信できる環境で選択

# apt -y install ntp
# vi /etc/ntp.conf

# 18行目:コメント化
# 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 0.0.0.0 iburst
# 50行目:時刻同期を許可する範囲を追記
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

ファイルを修正後にntpサービスを再起動する
% sudo systemctl restart ntp

ntpq -pで動作確認できる

sshサーバーの設定

sudo apt -y install openssh-server

% sudo emacs /etc/ssh/sshd_config

32行目:コメント解除して no に変更
PermitRootLogin no

webサーバーの立ち上げ

sudo apt -y install apache2

設定を書くファイルは通常は `/etc/httpd.conf`だが、Debianは少し違う

% sudo emacs /etc/apache2/conf-enabled/security.conf

25行目:変更
ServerTokens Prod
これによってApacheのversionやOS情報を外に出さない

% sudo emacs /etc/apache2/mods-enabled/dir.conf

2行目:ディレクトリ名のみでアクセスできるファイル名を設定
DirectoryIndex index.html index.htm

個人ページの設定

% mkdir ~/public_html
% sudo emacs /etc/apache2/mods-available/userdir.conf
UserDir public_html`になっていることを確認する
この設定ファイルの内容を反映させる
# a2enmod userdir
% sudo systemctl restart apache2

これでlocalhost/~hoge というページにあるindex.htmlが見れるようになったはず

sudo emacs /etc/apache2/sites-enabled/000-default.conf

13行目の
DocumentRoot /var/www/html

となっている
localhostfirefoxとかで打って開くページは /var/www/html/index.html
なので /var/www/html 以下にファイルを置くと、webサーバーで公開することができる



さらに.htaccessの設定をしてアクセスにパスワードを要求するようにする

% sudo emacs /etc/apache2/apache2.conf

<directory var="" www="">
Options Indexes FollowSymLinks
# AllowOverride None
AllowOverride All
Require all granted
</directory>

% sudo systemctl restart apache2

のようにAllowOverride Allに変更する
最後にapacheを再起動する
これでhtaccessが機能するようになるはず

ランキング参加中です

↓クリックしていただけると嬉しいです〜