Linux Server」カテゴリーアーカイブ

GitLabのProject URLにローカルIPが表示されてしまう

以前の投稿でdocker-composeを使い、GitLabを5秒でインストールする方法を紹介しましたが、nginxのリバースプロキシを挟んで構築したときに、いくつか設定にハマりましたので紹介しておきます。

現状の構成はnginxでSSLを終端し、その後ろでgitlabコンテナが10080番でHTTPを待ち受けている構成になります。
続きを読む

WordPressなどのPHPサイトの下にpukiwikiを構築

WordPressなどのPHPサイトの下にpukiwikiなどの同じくPHPで動く動的サイトや、静的ファイルを設置する方法です。
通常DocumentRoot直下にwordpressなどのPHPサイトを配置すると、その配下にフォルダを切ってもwordpress以外のものは表示できなくなります。

こんなかんじで

もちろんDocumentRoot配下で分ければ問題ないのですが、メインはWordpressのサイトだけどサイトの補足としてpukiwikiや、別途静的なファイルの設置を行いたいときの設定です。

https://domain.com/wp/   #Wordpressを表示
https://domain.com/wiki/  #Wikiや静的ファイルを表示
↑こんな感じでは分けられると思うけど

↓今回はこのようにしたい。
https://domain.com/ #Wordpressを表示
https://domain.com/wiki/ #Wikiや静的ファイルを表示

続きを読む

再起動後にdockerコンテナが立ち上がらない時の設定

docker ps コマンドなどで状態を確認するとdockerプロセスが起動するものの、再起動後にdockerを自動で起動したいときに使う。Ubuntu18.04 LTS

$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled) #disabledになっている。
   Active: active (running) since Thu 2019-05-23 05:09:35 UTC; 3min 45s ago
     Docs: https://docs.docker.com
 Main PID: 2069 (dockerd)
    Tasks: 137
   CGroup: /system.slice/docker.service

$ sudo systemctl enable docker #設定を変更

$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) #enabledになっている。
   Active: active (running) since Thu 2019-05-23 05:09:35 UTC; 5min ago
     Docs: https://docs.docker.com
 Main PID: 2069 (dockerd)
    Tasks: 137

さくらのレンタルサーバーにPython3.7.2 とDjango2.1.7をインストール

さくらのレンタルサーバー便利ですよね。しかしながらインスタンス借りではないので、標準で提供されてる以外のWebサーバーで運用するのは大変です。基本的にPHPでのWebサービスが想定されているサービスですが、Python3.7.2とDjango2.1.7 Finalをさくらのレンタルサーバー(スタンダードプラン)で動かすことが出来たので、手順メモです。

大きな手順は以下

    1. Python3.Xをコンパイル
    2. PyenvにてDjango実行環境を作成
    3. pipコマンドでDjangoをインストール
    4. Djangoにて新規プロジェクトを開始
    5. CGIファイルを設置しコンフィグファイルを修正
    6. CSSなどのStaticファイルを収集

Python3.Xをコンパイル

# bash
# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
# cd Python-3.7.2
# ./configure –prefix=~/acountname/python
# make install
#
# ./acountname/python/bin/python3 -V
# Python 3.7.2

PyenvにてDjango実行環境を作成

# ./acountname/python/bin/python3 -m venv ~/acountname/venv-django
# cd acountname/venv-django
# source ./bin/activate

pipコマンドでDjangoをインストール

#(venv-django) pip install django

Djangoにて新規プロジェクトを開始

#(venv-django) django-admin startproject ~/acountname/hogehoge

CGIファイルを設置しコンフィグファイルを修正

#(venv-django) mkdir ~/www/hogehoge
wget https://raw.githubusercontent.com/chibiegg/django-cgi/master/django-python3.cgi
# vi django-python3.cgi

#!/home/acountname/venv-django/bin/python #インストールしたpython環境のパス
sys.path.append(“/home/acountname/venv-django/lib/python3.7/site-packages”) #インストールしたpython環境のsite-packagesへのパス
sys.path.append(“/home/acountname/hogehoge”) #インストールしたDjangoプロジェクトフォルダのパス
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘hogehoge.settings’ #インストールしたDjangoプロジェクトの名前に変更

#(venv-django) cd ~/acountname/hogehoge/
#(venv-django) vi setting.py

ALLOWED_HOSTS = [‘accountname.sakura.ne.jp’]
ROOT_URLCONF = ‘hogehoge.urls’
LANGUAGE_CODE = ‘ja’
TIME_ZONE = ‘Asia/Tokyo’
STATIC_URL = ‘/hogehoge/static/’
STATIC_ROOT = ‘/home/acountname/www/hogehoge/static/’

#(venv-django) cd ~/acountname/hogehoge/
#(venv-django) ./managy.py migrate
#(venv-django) ./managy.py creagesuperuser

CSSなどのStaticファイルを収集

#(venv-django) ./managy.py collectstatic

http://acountname.sakura.ne.jp/hogehoge/django-python3.cgi/admin/ にアクセス

関連ファイルの配置確認
~/acountname/python #インストールしたpython3.7.2
~/acountname/venv-django #インストールしたpython仮想環境
~/acountname/hogehoge #Djangoプロジェクトのルート
~/acountname/www/hogehoge #cgiを設置直接インターネットから叩く場所
~/acountname/www/hogehoge/static #cssなどの静的ファイルを設置

最終的にインターネットにさらされるのは、.cgiのファイルとstaticのみです。

ちなみに、問題なく動作するのですが、叩くたびにpythonのライブラリを全て読み込んでいるのか、なかなか動作は遅いと思いますが、お試し公開サービスぐらいには使えるかと思います。
また、setting.pyを編集すればさくらで提供されているホスティングのMySqlサービスも使用することが出来ます。

inadynを使い、dyndnsをLinux OS から自動でアップデートする

自宅でサーバ運用されている方々はダイナミックDNSサービスを使われている方も多いのではないでしょうか?本格的なサーバの方は固定IP+有料ホスト名を取得されている方もいるかもしれませんが、手軽で格安に運用できるダイナミックDNSはまだまだ魅力的です。しかし、ダイナミックDNSでサーバ運用する時の問題は、リンクが切れた時にIPアドレスが変わってしまうことです。万が一切れてしまった時に被害を最小限にするべく、LinuxからダイナミックDNSを自動で更新する設定をしたいと思います。 続きを読む

mdadm RAID5 障害対応

ビーーーーーーーーーーーーーーーーーーーーーーーーーー!!

日曜の朝に鳴り響くBeep音なんだなんだと、鳴っている方向に近づいていくと、ん?
パソコン(このWEBサーバ)近く?
UPSになにかあったかな?違う。
電源?違う。
筐体の中から鳴っている・・・・
あれ?RAIDカードだ!

続きを読む

MacOSXでBootable USBの作成

今後はisoを光学Diskになんて焼かないぞ!!

20140628-202043-73243969.jpg
外部のサーバにCentOSを新規インストールしたく、BootableUSBを作成することに。
(実際に今回はSDカード上に作った。)

Linux上ではDDコマンドを使うことは、なんとなく知っていたのだが、OSX上ではもう一手間必要で、
手順は以下。
続きを読む