エンジニ屋.com(エンジニヤドットコム)

ITエンジニアによる開発・転職・資格取得記録などを書いてます!

サーバ関連、開発経験まとめ【逆引き】

f:id:enginiya:20211230223443p:plain

サーバ関連の携わったきたことを、年を越す1つの節目として、備忘録として簡単に列挙していきたいと思います。 参考となる有力なサイトなども掲載していきます。
説明不十分な箇所がありますが、ヒントを得る情報があれば幸いです。
もしリクエスト頂ければ、詳細な解説記事を書くので良ければコメント下さい。
OSはwindows10を使用しています。


サーバ構築関連

さくらのVPSサーバ構築おおまかな流れ

  1. puTTYをダウロード(ターミナルでも可)
  2. SSHで接続
  3. ルートユーザで一般ユーザを作成
  4. password作成
  5. rootユーザでログインできないようにsshd_configで設定を変更
  6. 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

サーバ側から秘密鍵を受けて接続するまでの方法

  1. サーバ側の秘密鍵(id_rsa)をもらいます。
  2. Cドライブ/ユーザー/.sshのディレクトリを作成
  3. 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

以上となります。

スポンサーリンク