2019年4月27日土曜日

自分のサーバーにサイト追加する方法

こんばんは、こうちゃんです。

自分でサイトを持っていて運営している際などに、主にVPSのような自分で構築したサーバーでサイトを増やす手順です。

ある程度マニアックな情報になってしまいますが、
私自身がサイトを増やす際のマニュアル、覚書的に役立てるためと、
同じような状況で、まだあまり慣れていない方に役立つように、作業メモを残しておきます。

サイト追加手順
※ドメイン取得サイトはどこか定番大手などでアカウント登録して使ってください

1.ドメイン管理サイトにて希望するURLになる新ドメイン取得

2.DNS設定でレコード追加
基本的には、Aレコードで自身の持っているサーバーのIPアドレスに向ける(サーバー管理会社がドメイン設定を指定している場合はそれに従う)
 A サーバーIPアドレス

3.ネームサーバ設定はほとんどのドメイン管理会社で設定不要だが、明示するように書いてある場合はその使用しているドメイン管理会社のネームサーバーを使用するように設定

4.FTPソフト等を使い、WEB用アップフォルダに新ドメイン名等でフォルダを作成し、コンテンツアップロード

(以降サーバーにssh接続でコマンドライン)
5./etc/httpd/conf.d/virtualhost.conf編集
新ドメイン用設定書き加え(↓はfuelの場合、一般サイトなら/public/は不要)
<VirtualHost *:80>
DocumentRoot /var/www/html/ドメイン名/public/
ServerName ドメイン名
</VirtualHost>

6.service httpd restart で新ドメインにアクセスして見えることを確認

↑単にhttp://ドメイン名で新サイトを見るだけの場合はここまでで完了
↓新サイトをさらにssl化してhttps://ドメイン名でアクセスできるようにする場合以下も実行

7.ssl証明書発行&インストール
cd /etc/letsencrypt/
./letsencrypt-auto certonly --webroot -w ドキュメントルート(fuelなら/publicまで含む/) -d ドメイン名
※サーバーのPythonバージョンが低くてエラーが出る場合、Python2.7を有効に↓してから上記コマンド実行
sudo scl enable python27 bash

8.https設定
vi /etc/httpd/conf.d/ssl.conf
既存https設定のブロックをコピーしてドメイン名だけ書き換えて追加(↓具体例)
<VirtualHost *:443>
   ServerName ドメイン名
   DocumentRoot "/var/www/html/ドメイン名/public"

   SSLEngine on
   SSLHonorCipherOrder on
   Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
   SSLProtocol all -SSLv2
   SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES

   SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
   SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem

    <Directory "/var/www/html/ドメイン名/public">
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    SetEnvIf Request_URI "\.(gif|jpg|png|css|js)$" nolog
    ErrorLog logs/ssl_error_log
    CustomLog logs/ssl_access_log combined env=!nolog

</VirtualHost>

9.サーバー再起動
service httpd restart
https//ドメイン名/でエラーなく見れるか確認

10.SSL証明書は3ヶ月で切れるので毎月初日に自動更新
crontab -e

最終行に追加
00 04 01 * * /etc/letsencrypt/letsencrypt-auto certonly --webroot -w /var/www/html/ドメイン名/public/ -d ドメイン名 --renew-by-default && /etc/init.d/httpd restart

※前の手順でpythonのバージョンエラーなど出てた場合、このコマンド時にもpythonのエラーによりうまく動かない可能性もあります。
その場合、crontab自体に、pythonの強制コマンド入りで登録しましょう

00 04 01 * * sudo scl enable python27 bash && /etc/letsencrypt/letsencrypt-auto certonly --webroot -w /var/www/html/ドメイン名/public/ -d ドメイン名 --renew-by-default && /etc/init.d/httpd restart

これでほぼOKのはずですが、ちゃんと証明書が更新されたかなどは、crontab自体が動いたかの確認と、実際のサイトで証明書日付の確認などをしましょう(まあ一回ちゃんと動いたのを確認すればほぼ大丈夫ですが)。

vi /var/log/cron
などでcrontabのログを確認できます。
少し古い場合、/var/logフォルダ内を探して cron日付-日付になっていたりするのが過去ログ分です。


ドメイン引っ越しの場合
上記手順で引っ越し先のドメインでサイトを見れるようになったら、
引っ越し元ドメインのルート(URL叩いたら見れる階層)に、
.htaccess ファイルを作成し、中身を
Redirect permanent / 引っ越し先URL
と書いてアップ、これでURLを構造ごと転送がかかるようになる
こうしないと、全ページ、新URLのトップに転送とかかけちゃうとインデックスや各ページのSEO評価が引き継がれなくなってしまう

以上のような流れで新サイトをサーバーに追加できます。
もちろん既存のサーバー設定等で必ずしも上記通りにいくとは限りませんが、かなりの部分で参考にはなると思います。

こうちゃん

2019年4月18日木曜日

スポトラローンチ

こんばんは、こうちゃんです。

いつもお仕事で各種webサイトを作成しておりますが、
趣味で指導員もやるほどハマっているトランポリンに関わるサイトを作りたくって、
このほど、全国のトランポリン場を探せるポータルサイト、

スポトラ

を作成、ローンチいたしましたー。
最近テレビ等で時折見かけるようになったため、ちょいちょい知名度も上がってきているスポーツで、徐々に街中にフリーのトランポリン場や、トランポリンパークが登場するようになってきております。
そんなトランポリンの、できる場所や料金、利用できる時間等を、
写真や地図付きで細かくご紹介するサイトになっています。

まだまだ一部テレビでやっている場所くらいしか人々には認識されていませんが、
こうして全国捜索すると、かなりの数のトランポリンを楽しめる場所というのがあるものでして、
ぜひお近くの練習場などの門をたたいてみてはいかがでしょうか。

リリースはしましたが、これからさらなる飛躍、成長を続けていくつもりですので、
どうかよろしくお願いいたします。

こうちゃん


2019年4月12日金曜日

.htaccessでDocumentRootを変える方法

こんばんは、こうちゃんです。

レンタルサーバー等を使っていると、
最初からドキュメントルートのフォルダが決められてしまっていて、
ルートの位置にしたいフォルダの指定ができないところも多いかと思います。

そのような場合、事情により、アップ内容をフォルダ分けして、
例えば、web公開用のwebフォルダと、プログラムでの参照用にdataフォルダとを並列で置きたい、みたいな時に困ります。

本来のドキュメントルート下の、あるフォルダ内にファイルを配置し、
そこをドキュメントルートとして扱いたい場合、
そのレンタルサーバーなどで、.htaccessファイルの動作が許されていれば、
rewriteを使って対応可能です。
本来のドキュメントルートに、.htaccessを作成、その中身を以下のように記載します。
※仮に新ドキュメントルートにしたフォルダは web とします。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ web/ [L]
RewriteRule ^(.+)$ web/$1 [L]
</IfModule>

これで、フォルダ<web>内がドキュメントルートになります。
サイトを読み込む際に動作させる部分ですので、特にサーバーの再起動等も必要ありません。

最近ではフレームワークなどの都合で、ドキュメントルートが最上層じゃないケースもありまり、また、レンタルサーバーもフォルダ構成を変えられなくないので、ドキュメントルート変更をさせてくれない場合もあり、
このような方法で対応できると大変助かります。

こうちゃん

2019年4月8日月曜日

還付金返ってきた

こんばんは、こうちゃんです。

ありがたやー、ありがたやー。
先日、確定申告も終わり、経費などの計上の結果、
源泉徴収されていた税金は取られ過ぎていたとなり、
無事に還付金として返ってまいりました。

これ自体はよいことで、ありがたいんですが、
いつになっても思うんですが、源泉徴収ってシステム、無駄じゃないですか?

そもそも、会社員にしても、勝手に見込みで給与から引かれていて、
年末調整で、住宅ローンだの生命保険だの、その他サラリーマンでも可能な控除の分を計算して、結果払い過ぎなら還付金で返ってくる。

これって、税務署的には、所得の確認→還付金の場合払い戻し、て、余計な手順もあるし、せめて最初から年末に確定額を会社が納税すればいいじゃないかと、百歩譲って、会社が事前徴収はいいけど、プールしとけやと、んで還付金発生分は翌年の給与から引く分を減らして調整せいやと。
取り過ぎて後で返すってどんだけ無駄なんしょうね。

個人事業主とかに至ってはもっと無駄です。
源泉徴収で会社は会社で、個人事業主と税務署への支払いと二口に支払い、これが面倒、
さらに結局個人事業主は確定申告して、
払い過ぎの場合、税務署は還付金を振り込む、
あまりにも愚か過ぎやしませんか??
こんなくだらない仕組みがなければ、
会社も仕事をした人にただ全額支払うだけ、二口へ支払う手間は半減、
個人事業主は普通に確定申告するだけ、
税務署は受け取るだけ、還付金の手間もない

何ひとつ無駄のないすばらしい仕組みなのに、何をとち狂って、わざわざ手順を複雑化、余計なコストをかけてるんでしょうね。
こんな幼稚園児でも気づきそうな愚かな手法をずっと続けている理由は・・・
まあ、考えればいくつか理由もわかりますけども。

そもそも、源泉徴収をしておけば最低限税金のとりっぱぐれがないこと、
これが第一でしょうね。
仮に個人事業主の手にすべてお金が渡ってからですと、納税のタイミングで、もしかしたら脱税とか、計算間違いで納税額が少ないとか(仮にあとで追徴等で取れるとしても)、国庫に入る額が減る、ないし、遅い可能性があるから、と。
最初にお金が生じた時点、企業から源泉徴収しておけば、まあ確実だろう、という、
かなりの性悪説に基ずく、国民、特に個人事業主を信じない、というひどい理由ですよね。

現実に、個人事業主だの資産家だのの脱税が多いのだから、気持ちはわかりますが・・・まずは国民を信じないところから始めて、結果あまりにも無駄な手順を生じさせて多くの人の時間を奪い、結果、その分の時間で生産できたであろうお金(これだって誰かが稼げば納税額につながるのに)を無にするって、本末転倒じゃないんですかね?
それすらわからないくらい国の連中は頭が悪いか、どんだけ国民を疑ってるんですかね。

まあ、あとは、役所仕事の典型、わざわざ手順を複雑化、手間を増やして、結果役所の仕事にして公務員のために仕事を作る、というくだらな過ぎる理由。
これも昔からあるあるですよね。
このIT全盛のご時世にわざわざ各種申請や手続きを紙で扱い、手間を増やして、役所の仕事を増やして大量の公務員の雇用を確保しようとしているくらいですからね。
普通の企業ならとっくにクビか、給与なんて雀の涙で当たり前のような無能窓際の山を抱えておいて、そいつらのために意味のない仕事を作って、年さえとっていれば、一企業の社長並みの給与を渡すのが役所ですもんね。
あきれて物も言えませんが、そうしてずっと政治家や役人が儲かる国を運営してきたんですもんね、そりゃあ効率化なんてしたくないでしょうねえ。

国民を信じろ、とまでは言いませんが、少なくとも今の源泉徴収の仕組みは金をドブに捨ててるようなもんなんですからねえ。
一応借金大国で、消費税も増税しなきゃ、なんて言ってるんですから、ここから改善してくださいよ、と言いたくなります。

こうちゃん