Debian 9.0 Stretchのセットアップ
リンクステーションにDebian 9.0 Stretchをインストールした。
デフォルトではsudoコマンドが使えないなど不便だった。
パッケージのインストール
sudo
# apt -y install sudo
特定のユーザーにroot権限を付加する
# visudo または以下を編集 #vi /etc/sudoers
一番下の行に以下を追加する
例:ユーザー名userのとき
#includedir /etc/sudoers.d // この行が一番下にある user ALL=(ALL) ALL
rootをexitで抜け、sudo apt-get updateなどしてsudoが使えるか確認する。
特定のユーザーに特定のコマンドの実行を拒否したりする場合はこちらを参考にすると良い。
Debian 9 Stretch : 初期設定 : Sudo の設定 : Server World
git
# apt-get install git
nginx
# apt-get install nginx # systemctl status nginx // ステータスの確認 ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-01-11 21:54:08 JST; 2min 47s ago Docs: man:nginx(8) Process: 1233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 1230 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 1237 (nginx) Tasks: 2 (limit: 4915) CGroup: /system.slice/nginx.service ├─1237 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─1238 nginx: worker process # ip a // IPアドレスの確認(sshで接続しているのだからわかっているはず)
ローカルネットワーク内のブラウザからIPアドレスを入力してwebサーバーが動いているか確認する
動いていれば「Welcome to nginx!」が表示される
nginxのコンフィグやる
https://www.cyberciti.biz/faq/howto-install-setup-nginx-on-debian-linux-9/
不要なパッケージの削除
自動削除
# apt autoremove
apache
apacheは重いイメージあるしnginxを使いたいので削除
# service apache2 stop # apt-get purge apache2 apache2-doc
/etcディレクトリのバックアップ
/etcディレクトリはUNIXやLinuxでコンピューター夜のシステム設定ファイルなどが保存されている。
セットアップするときにいろいろと修正して間違ってしまうこともあるので最初にgitで変更履歴を管理できるようにする。
etckeeperというツールもあり、何台もサーバーを管理している人には便利そうだけれど今は一台だけだしgitの勉強もしたいのでgitで管理する。
githubのrepositories > newからリポジトリを作成する。privateも無料になったことだし今のところ設定ファイルを後悔する意味もないのでprivateにする。
リポジトリの「Clone or download」を押し、Clone with HTTPSのURLをコピーしておく。
https://github.com/user_name/repository_name.git // user_name、repository_nameは自分のもの
/etcディレクトリに移動する。
/etc# git init // 初期化 /etc# git add -A // 全てのファイルを追加 /etc# git commit -m "initial commit" // コメントを付けてコミット /etc# git remote add origin https://github.com/user_name/repository_name.git // "origin"という名前でgitにpushできるようにする /etc# git push origin master // ユーザー名とパスワードが求められるので入力し、originのmasterブランチにpushする
ここでgit 2.9以降から仕様が変わったらしく、「error: failed to push some refs to ~」というエラーが起きることがある。
# git push origin master To https://github.com/user_name/repository_name.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/user_name/repository_name.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pullかなにかしてからpushしろという説明が表示されるが、pushしてもエラーになる。
# git pull origin master From https://github.com/ultragenma/melchior_etc * branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories
ブランチをgithubのmasterにマージする必要がある。
# git merge --allow-unrelated-histories origin/master
テキストが開くので、一行目のコメントを必要なら変更する。
以下のメッセージが出たらマージが成功。
Merge made by the 'recursive' strategy. LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 + 2 files changed, 676 insertions(+) create mode 100644 LICENSE create mode 100644 README.md
再度pushする。
# git push origin master
githubに/etcのファイルが追加されていれば完了。
IPアドレスの固定
/etc/network/interfacesを編集する。デフォルトではこうなっている。
# The primary network interface
auto eth0
iface eth0 inet dhcp
dhcpからstaticに変更し、固定したいアドレスを設定する。
# The primary network interface auto eth0 iface eth0 inet static address 192.168.1.100 // 例:100に固定 netmask 255.255.255.0 gateway 192.168.1.1 // 接続しているルーターのアドレス
このままではip aコマンドで確認してもIPアドレスは変わっていないのでパソコンを再起動する。