ドメイン変更に耐え得るディレクトリ構成へ変更

ドメイン

コマンド実行履歴

 状態:-  閲覧数:706  投稿日:2015-11-15  更新日:2018-03-28

一覧


cp -a /var/www/sakura.e1blue.co/ /var/www/e1blue.co/
mv /var/www/e1blue.co/sakura.e1blue.co/public_html/* /var/www/e1blue.co/sakura.e1blue.co/
mv /var/www/e1blue.co/sakura.e1blue.co/public_html/.[!.]* /var/www/e1blue.co/sakura.e1blue.co/
rmdir /var/www/e1blue.co/sakura.e1blue.co/public_html
find /var/www/e1blue.co/sakura.e1blue.co -type f -exec sed -i 's%sakura\.e1blue\.co/public_html%e1blue.co/sakura.e1blue.co%g' {} +

# vim /etc/httpd/conf.d/e1blue.co.conf
service httpd configtest
service httpd restart


失敗した時は削除後、やり直す
rm -rf /var/www/e1blue.co/sakura.e1blue.co


:q! 保存せずに終了


現状



問題点
・ドメイン変更対応が辛い

ディレクトリ構成
▼/var/www/サブドメイン.取得ドメイン.co.jp/public_html/

全体構成
var
┗www
  ┣サブドメイン1.取得ドメインA.co.jp
  ┃ ┗public_html
  ┃   ┗公開ディレクトリ
  ┃
  ┣サブドメイン2.取得ドメインA.co.jp
  ┃ ┗public_html
  ┃   ┗公開ディレクトリ
  ┃
  ┣サブドメイン3.取得ドメインB.net
  ┃ ┗public_html
  ┃   ┗公開ディレクトリ
  ┃


修正案


全体構成
var
┗www
  ┣取得ドメインA.co.jp
  ┃ ┣サブドメイン1公開ディレクトリ
  ┃ ┗サブドメイン2公開ディレクトリ
  ┃    
  ┣取得ドメインB.net
  ┃ ┗サブドメイン3公開ディレクトリ
  ┃
  ┣取得ドメインC.info
  ┃ ┗サブドメイン4公開ディレクトリ
  ┃

修正対応手順1 / ディレクトリ構成変更

 閲覧数:194 投稿日:2015-11-16 更新日:2015-11-23 

うまくいかない時は?


FileZilla右クリック → 更新
・変更が反映されていないだけかも?


1.権限変更


sudo -s



2.ディレクトリ新規作成


公開ディレクトリ
・-p 複数ディレクトリを一気に作成したい際につけるオプション
mkdir -p /var/www/取得ドメイン.co.jp

・「★★」ユーザに所有権を持たせる(変更する)
chown -R ★★:★★ /var/www/取得ドメイン.co.jp


▼/var/www/e1blue.co/


3-1.ディレクトリ構成変更コピー


2で新規作成したディレクトリ直下へコピー
・処理終了までサイズに応じて時間がかかる
cp -a /var/www/コピー前/ /var/www/コピー後/
cp -a /var/www/サブドメイン.取得ドメイン.co.jp/ /var/www/取得ドメイン/

cp -a /var/www/sakura.e1blue.co/ /var/www/e1blue.co/

▼/var/www/e1blue.co/sakura.e1blue.co/public_html/複数ディレクトリ/
cp


3-2.ディレクトリ構成変更移動


失敗例
・.htaccessだけが移動されず残る
mv /var/www/e1blue.co/sakura.e1blue.co/public_html/* /var/www/e1blue.co/sakura.e1blue.co/

成功例
・ディレクトリ及びファイル移動
mv /var/www/e1blue.co/sakura.e1blue.co/public_html/* /var/www/e1blue.co/sakura.e1blue.co/
・他の全て(.htaccessファイル、・gitディレクトリなどの隠しディレクトリ及びファイル)を移動
mv /var/www/e1blue.co/sakura.e1blue.co/public_html/.[!.]* /var/www/e1blue.co/sakura.e1blue.co/

▼/var/www/e1blue.co/sakura.e1blue.co/public_html/
▼/var/www/e1blue.co/sakura.e1blue.co/複数ディレクトリ/


3-3.不要になったディレクトリを削除


rmdir /var/www/e1blue.co/sakura.e1blue.co/public_html

▼/var/www/e1blue.co/sakura.e1blue.co/複数ディレクトリ/

修正対応手順2 / VirtualHost設定ファイル変更

 閲覧数:197 投稿日:2015-11-17 更新日:2015-11-24 

1.権限変更


権限変更していない場合は必要
sudo -s



2.設定ファイル変更


・「/etc/httpd/conf.d」以下の「.conf」は、Webサーバが立ち上がった際、必ず読み込まれる
vim /etc/httpd/conf.d/e1blue.co.conf
・iでインサートモードへ変更し、下記を修正

修正前
<VirtualHost *:80>
 ServerName e1blue.co
 DocumentRoot "/var/www/sakura.e1blue.co/public_html"
 DirectoryIndex index.html index.php
 ErrorLog /var/log/httpd/saura.e1blue.co_error_log
 CustomLog /var/log/httpd/sakura.e1blue.co_access_log combined
 AddDefaultCharset UTF-8
 <Directory "/var/www/sakura.e1blue.co/public_html">
   AllowOverride All
 </Directory>
</VirtualHost>


修正後
<VirtualHost *:80>
 ServerName e1blue.co
 DocumentRoot "/var/www/e1blue.co/sakura.e1blue.co"
 DirectoryIndex index.html index.php
 ErrorLog /var/log/httpd/saura.e1blue.co_error_log
 CustomLog /var/log/httpd/sakura.e1blue.co_access_log combined
 AddDefaultCharset UTF-8
 <Directory "/var/www/e1blue.co/sakura.e1blue.co">
   AllowOverride All
 </Directory>
</VirtualHost>


・「Esc」で「インサートモード」抜ける
・「:wq」で保存
・「:q!」で保存せず終了

バーチャルホスト自体を有効にする設定
・1つ目で実施済なので、省略

Webサーバ再起動
# service httpd configtest
Syntax OK

# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]




vim


ノーマルモードで/(スラッシュ)を入力するとカーソルが画面下へ移動
・そこで、検索文字列を入力して、[Enter]を入力することで文字列を検索できる
キー 動作
/[検索文字列] 下方向に、[検索文字列]の検索を行う。
?[検索文字列] 上方向に、[検索文字列]の検索を行う。
n /や?で検索を行った後に、順方向に次の検索結果にジャンプする。
N /や?で検索を行った後に、逆方向に次の検索結果にジャンプする。
* カーソル位置の単語を下方向に検索する。/[カーソル位置の単語]と同じ動作。
# カーソル位置の単語を上方向に検索する。?[カーソル位置の単語]と同じ動作。



 

 
キー 動作
1G
gg
1行目に移動します。
G 最終行に移動します。
[数字]G
:[数字]
[数字]行目に移動します。


エラー


wq!でも保存できない
・sudoで権限変更
・権限が足りない、というメッセージは表示されない
※ただ書き込み不可、と表示されるだけ

修正対応手順3 / サイト固有設定の確認

 閲覧数:208 投稿日:2015-11-17 更新日:2015-11-23 

1.非公開ディレクトリ


public_htmlでグレップ検索
・PHP以外のデモ系は、下記のみ
・一気に変更しないと具合が悪い

修正前
0webapp\views\common\accessranking.php(10):           if ( file_exists("/var/www/".$_SERVER['SERVER_NAME']."/public_html/pageranking/accessranking7.html")) {
0webapp\views\common\accessranking.php(11):             include("/var/www/".$_SERVER['SERVER_NAME']."/public_html/pageranking/accessranking7.html");
0webapp\views\common\accessranking.php(20):           if ( file_exists("/var/www/".$_SERVER['SERVER_NAME']."/public_html/pageranking/accessranking.html")) {
0webapp\views\common\accessranking.php(21):             include("/var/www/".$_SERVER['SERVER_NAME']."/public_html/pageranking/accessranking.html");


修正後
        <?php 
         if ( file_exists("/var/www/e1blue.co/".$_SERVER['SERVER_NAME']."/pageranking/accessranking7.html")) {
           include("/var/www/e1blue.co/".$_SERVER['SERVER_NAME']."/pageranking/accessranking7.html");
         }
       ?>
       <?php
         if ( file_exists("/var/www/e1blue.co/".$_SERVER['SERVER_NAME']."/pageranking/accessranking.html")) {
           include("/var/www/e1blue.co/".$_SERVER['SERVER_NAME']."/pageranking/accessranking.html");
         }
       ?>



2.公開ディレクトリ


方法1.ローカルで処理
・ダウンロード後、public_htmlでグレップ置換
・再度アップロード

方法2.サーバで処理
$ find /var/www/e1blue.co/sakura.e1blue.co -type f -exec sed -i 's%sakura\.e1blue\.co/public_html%e1blue.co/sakura.e1blue.co%g' {} +



CentOSで複数ファイル内文字列の一括置換をしたいのですが、うまくいきません…




3.cron


sudo vi /etc/crontab


トラブル履歴

 閲覧数:334 投稿日:2015-11-18 更新日:2015-11-18 

FileZillaでダウンロードすると「失敗した転送」がカウントされる


発生状況が不明で悩む
転送を開始できません

原因判明
・Windowsの容量不足だった
・途中で0になっていた
・エラーメッセージの詳細を表示してくれないと理由が分からない
・「転送を開始できません」だけでは …


FileZillaでダウンロードすると「失敗した転送」が0にならない


・転送を開始できません(34)
・原因不明


新規作成ファイルへアクセスすると404


確かにファイルをアップロードしているのに
・簡素なindex.htmlへ変更しても認識しない

原因判明
・バーチャルホストが切り替わっていなかった

▼/etc/httpd/conf.d/e1blue.co.conf内容重複
・別confファイルの内容が重複していた
・後から読み込まれていたため、変更した設定を、元の設定で上書きしていた

対応
・別confファイルの内容を重複しないよう修正


.aiファイル内のパス文字列をグレップ置換できない


エンコードの解析エラー
・「強制実行ボタン」は怖くて押せない

進捗管理

 閲覧数:183 投稿日:2015-11-19 更新日:2015-12-02 
cpコマンドのaオプションとpオプションの違い



ネームサーバ

QAサービスへ投稿する際、例として使用するドメイン / example.com / example.net



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新