サーバ関連の携わったきたことを、年を越す1つの節目として、備忘録として簡単に列挙していきたいと思います。
参考となる有力なサイトなども掲載していきます。
説明不十分な箇所がありますが、ヒントを得る情報があれば幸いです。
もしリクエスト頂ければ、詳細な解説記事を書くので良ければコメント下さい。
OSはwindows10を使用しています。
- サーバ構築関連
- ssh接続関連
- コントロールパネルでの設定関連
- コマンド関連
- ユーザにroot権限を付与する
- 全体からファイルを検索
- 全体から内容を検索
- どのグループに所属しているか確認
- apach をグループに所属させたい場合
- zipディレクトリを生成したい時
- シンボリックリンクを貼るとき
- ファイル・ディレクトリ名を変更する場合
- Apach ステータス確認
- ファイルの読み書きの権限を変更したいとき
- Apach の再起動(php iniやhttpdconfや.htaccessなどを変更した時など)
- サーバ停止
- エラー文:Unable to write in the"/var/www/html/var/cache/prod"directory.の対処法
- composerのインストール
- 一般ユーザのpassword変更方法
- ポート番号一覧の表示
- その他
サーバ構築関連
さくらのVPSサーバ構築おおまかな流れ
- puTTYをダウロード(ターミナルでも可)
- SSHで接続
- ルートユーザで一般ユーザを作成
- password作成
- rootユーザでログインできないようにsshd_configで設定を変更
- sshd_configで変更した時は、再起動のコマンド
systemctl restart sshd.service
さくらのVPSサーバ構築は下記URLが非常に分かりやすいです。
参考:ネコでもわかる!さくらのVPS講座 〜第一回:VPSてなんだろう?〜 | さくらのナレッジ
ポート番号を変更してもアクセスできない
原因:さくらのvpsのコンパネにあるパケットフィルタの設定変更が必要
サーバ構築時、remiリポジトリのインストール時にエラー
下記コマンドでインストールOK
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.com
CentOS8のphpインストール方法&バージョン変更
参考:CentOS 8に構築したPHPのバージョンアップ | Studio ilia - スタジオ イリア
参考:CentOS8(さくらのVPS)にPHP7.4をインストール | アイテックシステム
ssh接続関連
SSHとは「Secure Shell」の略で、ネットワークに接続された機器を 遠隔操作し、管理するための手段です。 引用:https://www.kagoya.jp/howto/it-glossary/server/ssh/
とあるように、sshでサーバに接続を行い、サーバ内のファイルをCUIで確認や操作ができます。
ssh接続(公開鍵認証を設定していない場合)
ssh <FTPアカウント名(ユーザ名)>@<FTPサーバ名>
↓その後、
<FTPパスワード>入力
参考:https://qiita.com/non0311/items/04222771ef9aa1970f7
サーバー側で公開鍵秘密鍵ペアを生成
デフォルトでは、パスワード認証方式なので、
ssh接続する際に毎回パスワードの確認があります。
セキュリティ的にも安全を考慮して、公開鍵認証方式を取られています。
簡単に説明すると、公開鍵(id_rsa.pub)と秘密鍵(id_rsa)を生成して、
秘密鍵を持っている接続元のアクセスを許します。
推奨されている方法はクライアント側(アクセス元) で鍵のペアを生成して、
サーバ側(アクセス先)に秘密鍵を置きます。
参考:ssh公開鍵認証方式で接続 | server-memo.net
その反対でサーバ側でペアを生成して、秘密鍵をユーザ側に渡すという方法もあります。
参考:5分でSSHの公開鍵認証を有効化する方法【ファイル転送ソフト不要】 – Hacker's High
サーバ側から秘密鍵を受けて接続するまでの方法
- サーバ側の秘密鍵(id_rsa)をもらいます。
- Cドライブ/ユーザー/.sshのディレクトリを作成
- configファイルの中に必要な情報を追記する。
Host enginiyadotcom <コマンド名> Hostname 111.111.11.111 <IPアドレス> User enginiya <接続先のユーザ名> IdentitiesOnly yes IdentityFile ~/.ssh/enginiya <秘密鍵ファイルのファイル名>
4.enginiyaという名前のファイルを作成
秘密鍵のソースをファイルにコピーペースト
これで、CUIにssh enginiyadotcom と入力するだけで、サーバ側へアクセス可能です。
ssh接続(サーバー同士)
アクセスするサーバ側で、ssh-keygen -t rsaでkeyを作成。 configを作成して設定、 id_rsa.pub を接続先のauthorized_keyにコピーペーストします。
ssh で接続しようとする際にload key ivaild format というエラーが発生、その対処法
原因:
新OpenSSH形式であった為、旧式に変更する必要がある。
ssh-keygen -p -f <新形式秘密鍵ファイル名> -m pem https://dev.classmethod.jp/articles/windows-openssh-keypair/
sshでログインできない
エラー文:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
権限の設定を変更する必要があります。
.ssh 700
authorized_keys 600
ユーザディレクトリ 700
参考:Permission denied (publickey,gssapi-keyex,gssapi-with-mic). - Qiita
コントロールパネルでの設定関連
さくらのレンタルサーバでCron設定方法
スクリプト設定→Cron設定
下記enginiyaという公開ディレクトリの例
コマンドを入力
cd /home/enginiyadotcom/laravel/enginiya; /usr/local/bin/php artisan batch:mail_reminder
もし不具合でサーバに入れないとき
さくらのvpsのVNCコンソールからroot権限でログイン可能。
.htpasswdさくらのレンサバの場合は、コンパネから作成ができる。
basic認証を行うときに.htpasswdファイルが必要。
参考:【簡単お手軽】さくらのレンタルサーバーに構築したWordpressサイトに対して、Basic認証をかける方法【やり方まとめ】 | Blogenist – ブロゲニスト
さくらのVPS デフォルトではportが指定されている
フィルター、コンパネWeb設定が必要
スポンサーリンク
コマンド関連
ユーザにroot権限を付与する
要点:ファイル削除をしようとしたところ、
権限がなかったので、root権限を付与して削除できるようにしました。
1. コマンドでsu
↓パスワードの入力が必要
2. パスワードにサーバ設定管理PASS
↓
これでRootユーザ権限となるので、下記コマンドで削除
rm -r Plugin -f ←Pluginはディレクト名 ← -f をつけることで毎ファイルごとの削除確認がない
全体からファイルを検索
find */ -name ファイル名
全体から内容を検索
grep 内容 */
どのグループに所属しているか確認
groups apachの場合 id apach
apach をグループに所属させたい場合
gpasswd -a apache(ユーザ) wheel(所属させたいグループ)
zipディレクトリを生成したい時
zip -r <zip名> <コピー元のディレクトリ名>
シンボリックリンクを貼るとき
ファイルを置きたい場所に移動して 例) ln -s ~/larave_project/laraveltest/public(実体ファイル) laraveltest(ファイル名)
ファイル・ディレクトリ名を変更する場合
mv 変更前ファイル名 変更後ファイル名 mv 変更前ディレクトリ名/ 変更後ディレクトリ名/ ← ディレクトリの場合はスラッシュ https://uxmilk.jp/8334
Apach ステータス確認
systemctl status httpd
ファイルの読み書きの権限を変更したいとき
chmod -R 777 ファイル名 or ディレクトリ
-Rをつけないとディレクトリ内のファイルが反映されない
ls -lで確認できる。
権限の詳細
参考:Linuxの権限確認と変更(chmod)(超初心者向け) - Qiita
Apach の再起動(php iniやhttpdconfや.htaccessなどを変更した時など)
systemctl restart httpd
権限がない場合は、頭にsudoをつける。
コンパネの再起動は、OSの再起動なので使用は避けたほうがよい。
サーバ停止
shutdown -h now 稼働はコンパネから
エラー文:Unable to write in the"/var/www/html/var/cache/prod"directory.の対処法
「書き込み権限がありません」という意味 chomd で権限を変更
composerのインストール
curl -sS https://getcomposer.org/installer | php バージョン指定する場合 -- --version=1.10.15 入力した後にphp composer.phar composerのpathを追加方法 composer.pharがあるディレクトリから mv composer.phar + usr/local/binの場所に移動
一般ユーザのpassword変更方法
root ユーザで コマンド passwd 一般ユーザ名
ポート番号一覧の表示
ss -antu
参考:Linuxでプロセスが何のポート使っているかを調べる - Qiita
その他
phpmyadminのインストール
参考: phpMyAdminの設定(CentOS 8) | アイテックシステム
sendmailをvpsサーバにインストール方法
参考:sendmail設定(1)必要最小限の設定で使ってみる | レンタルサーバー・自宅サーバー設定・構築のヒント
サーバーお試し期間中だとメールが飛ばない可能性あり。
サーバーの起動が必要
systemctl start sendmail
常に再起動するようにしたほうがよい
systemctl enable sendmail
(loadedにdisabledがenableを表示される)
アクセス元のIPアドレスの確認方法
/var/log/httpd/access_log IP制限解除したがエラー、IPアドレスを確認したら異なるIPであった為確認
URLのファイルをダウンロードする方法
wget <URL>
読み方:ダブルゲット
もしbasic認証など掛かっていた場合は、IDとPWを入力すれば問題なし
参考:@IT:認証が必要なサイトからファイルをダウンロードするには
vi の中で文字を検索したい場合
/ 文字列 Enter 次々と見ていく場合は、nを押していく
httpd.confの修正手順
ファイル場所
etc/httpd/conf/ を先ずコピー
cp <コピー元><コピー先> 例) cp httpd.conf httpd.conf.bk20211216
権限が必要なときは、
sudo cp httpd.conf httpd.conf.bk20211216
sudo vi httpd.conf httpd.conf
↓
i を押して書き換え モード
行番号を表示したいとき :set number 、行番号へ移動したいとき :<行番号>
↓
編集後、escを押す
↓
:qw で保存終了
sshログイン後の%表記を→アカウント名に変更方法
参考:さくらのレンタルサーバに鍵認証を使ってSSH接続をしてみた | Q3
容量が大きいディレクトリファイルを削除する場合は、
FTPツール使用すると時間が掛かるので、直接削除のコマンドを打ったほうがよい
削除コマンド詳細
参考:
ファイル・ディレクトリを削除するrmコマンドについて詳しく!【Linuxコマンド集】
Apachのエラーの可能性がある場合ログを確認
エラーログの場所(さくらのVPS) /var/log/httpd/erro_log
以上となります。
スポンサーリンク