2016/08/26

シェルスクリプトでCentOSにPython3の開発環境を自動構築する(pip, pyenv, virtualenv)

フロントエンドエンジニアとして生き残りをはかるため、サーバサイドにも手を伸ばそう!と決め、Python3+falcon+SQLAlchemy+MySQL+gunicorn+NginxでWebAPIサーバを立てようとしていた。
でもサーバのOSにCentOS7を選んでしまったので、python3がはいっていない。

手作業でPython3の開発環境を構築してもいいが、初心者なのでサーバを作って壊してを繰り返す予定だし、最近シェルスクリプトを覚えて「なんでもシェルスクリプトで書きたいマン」になっていたので、自動化するためにスクリプトをつくった。


開発環境は以下を想定している。
  • CentOS 7.2 64bit
  • Python 3.5.1
  • pyenv 1.0.0
  • pyenv-virtualenv 1.0.0
  • pip 7.1.2

2016/08/16

シェルスクリプトでCentOS6.x/7.xの初期設定をする

CentOSでサーバを立てたときに、まず最初に必ずやっておきたい初期設定がある。
その作業の一覧が以下のとおり。
  • パッケージを最新化する
  • 新規ユーザを作成する
  • suコマンドを制限する
    • suコマンドを実行可能なユーザ・グループを限定する
    • 特定のグループ以外suコマンドでrootに昇格できないように制限する
    • パスワード入力なしでsudoコマンドを利用できるようにする
  • ssh接続を制限する
    • rootユーザのsshログインを禁止する
    • sshで公開鍵認証のみ接続を許可する
    • sshでパスワード認証を禁止する
    • 公開鍵をサーバに登録する
  • sshdサービスを再起動する
  • iptablesまたはfirewalldの設定 ←今回はやらない

Webアプリケーションをつくりたくて、WebサーバとAPサーバを用意しようと思ったが、毎回この初期設定をするのが超絶メンドそう...。

ということで、自動化するために初期設定をしてくれるシェルスクリプトをつくったので、その詳細な説明と「なぜ設定が必要なのか」をまとめていく。

SQL Serverのインストール・セットアップでつまづいたこといろいろ

SQL Serverのセットアップをしているときに、躓いたり、迷ったりしたことがたくさんあったので、FAQ方式でまとめる。
2年半前にSIerをやってたときにとったメモなので、SQL Server 2008 R2でのみ動作確認している。