localhostにサブドメイン追加してみた
背景
部長「サブドメインで別々のフォルダ見れるようにしといて」
私「おかのした」
環境
WindowsServer
前提
通常、サブドメインを作成することはhttpd.cond
のみでは不可能です。
そこで、extra\httpd-vhost.conf
をいじります。
httpd.conf の設定
... LoadModule vhost_alias_module modules/mod_vhost_alias.so # コメント外す ... Include conf/extra/httpd-vhosts.conf # コメント外す
vhostsの設定
動的に生成するという手段もあります。
それは以下記事をご参照ください。
https://taitan916.info/blog/?p=1839
今回は、手動で追加していくパターンです。
というのもWindowsなのでバッチファイルでがちゃがちゃやりたいからですね。
便利なコマンド
httpd -S
現在のvirtual hostの一覧
httpd -t
設定ファイルの文法チェック
いまさら聞けない「Linux」って?
はじめに
閲覧ありがとうございます。 本記事の対象は、
というような初心者、中級者です。これらを知っておくと、個人開発やプロジェクトでの開発に役立つことでしょう。
なるべく初心者にわかるように、かみ砕いて説明するようにしますね。
そもそもLinuxとは
OS
この記事をご覧いただいているパソコンにしてもスマートフォンにしても、「マウスを操作する」「メールを送信する」などといった アプリケーションやハードウェアを操作する根幹となるシステムが必要です。
このシステムを OS (Opertiong System)といいます。このキーワードは聞いたことがあるのではないでしょうか。
例えば、パソコンなら
などが一般的ですね。
今回のテーマであるLinuxもOSの一種で、スマートフォンや多くのサーバでも利用されています。
また、WindowsやMaxOSは有償ですが、Linuxは無償で入手可能なんです。(ネット上でダウンロードが可能)
ところで、みなさんパソコンを買うとき、自分で「OSをインストールする」という作業を行った記憶はありますか?
ある方は、精通していらっしゃいますね。ちなみに私はありません。
実は、OSは、 * 自分でインストールする * 自分で再インストールする * 削除して別のOSを入れる * OSを切り替える
など様々なことが可能です。
カーネル
先ほどLinuxはOSだと説明しましたが、 狭義の「Linux」とはカーネル(OSの核となる部分)を指し、Linuxをインストールしただけでは、ファイルの操作やキーボードの操作、その他もろもろができません。
最初にこのLinux(カーネル)が公開されてから、多くの人がこれを使ってコンピュータを動かすソフトウェアを開発していきました。
この「カーネル」に関しては知っている方もあまりいらっしゃらないのではないでしょうか。普段意識することはない部分ですからね。
ディストリビューション
Linuxカーネルは常に公開されており、前述したとおり誰でも無償で利用が可能です。そして、このカーネルを利用したソフトウェアも数多く公開されています。
しかし、どのソフトウェアを使えばよいのか、何が必要なのか、などなど、すべてをそろえるのはなかなか難しいのです。
そこで、カーネルにソフトウェアを組み合わせてパッケージ化したものを配布するようになりました。 このパッケージを ディストリビューションといいます。
このキーワードも聞いたことはあるでしょうか。
一般的なディストリビューションは
などがあります。
歴史
これも知っておくとなかなか興味深いものです。 学生時代にやったなあと思い出しつつ書きますね。
ここではまた新たなOSが登場します。
UNIX
UNIXというOSが昔ありました。 これは、研究用とで開発されていたOSであり、設計内容は公開され、改造も自由なOSです。
様々な個人や企業が、独自で改造や追加開発を行うため、ある人が使うUNIXと別の人が使うUNIXは全く別物、ということもありました。
そこで、UNIXも開発元である AT&T はUNIXを管理するようになります。 これ以降、
ということになります。
UNIXを名乗るなら契約すればいいのですが、UNIXが動作するPCは高価、AT&Tとのライセンス料も高価なため、手が出せない組織も多かったんですね。
そんな中、当時フィンランドの学生であった リーナス・トーバルズ(Linus Torvalds) が PCで使えるUNIX風のOS「Linux」を公開しました。
それが1991年の出来事です。Linuxは学生によって誕生したんですね。
最後に
概要については以上です。
実際のコマンドなどには触れませんでしたが、業務などで使うLinuxでの理解は深まったでしょうか?
ありがとうございました。
2019/05/20
仕事
…あれ?何もやって無くね?
ってくらい、新人さんへの指導をしてたら一日が終わったなあ、と。
昼は久々に外で食べた。よかった。
メンタル
土曜日から絶不調。
土曜日は、帰宅まで1時間かかったし、帰ってから安定剤を9倍ほど、。
今もまたフラッシュバック、です。
最後
書かないと、と思ったけど特になにもない。
今から開発して、勉強して、猫と寝ます。
webpackってやつぁ…
docker-conposerで初期設定
始まり
別のプロジェクトを作ろうかな~と思って、
# docker-compose.yml version: '3' services: db: image: mysql:5.7 container_name: mysql_django_girls environment: MYSQL_ROOT_PASSWORD: docker MYSQL_DATABASE: docker MYSQL_USER: docker MYSQL_PASSWORD: docker TZ: 'Asia/Tokyo' command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci volumes: - ./docker/db/data:/var/lib/mysql - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf - ./docker/db/sql:/docker-entrypoint-initdb.d ports: - 3306:3306 restart: always web: build: . # はじめは django-admin やらないと。 command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db links: - db tty: true
動かそうとしたんですね、このファイル。
command: python manage.py runserver 0.0.0.0:8000
これしようとしたときにね。
当たり前だけど、django-admin
されてないから動かなかったのでメモ。
一度、上記コマンドをコメントアウトしてdocker-compose up
docker container exec -it {コンテナ名} django-admin startproject project .
でOK!
参考
debug-toolbarが表示されない
INTERNAL_IPS
dockerでやるときって、localhst
じゃないんですよね…
REMOTE_ADDRの確認方法だが、アプリを適当に編集してTracebackを出すとRequest informationのMETAの中にREMOTE_ADDRが確認できる。
とのことですが、そのTracebackを出すとdockerでエラーが吐かれてしまう。
困ったが、
setting.py
にて
DEBUG_TOOLBAR_CONFIG = { 'SHOW_TOOLBAR_CALLBACK': False, }
を書けば、Tracebackできました。
REMOTE_ADDR拾ってください。