個人WikiにとりあえずGROWI!
久しぶりにそこそこサーバイジリをしたのでちゃんと残しておこうかと
備忘録なので細かいところは抜きですが
GROWIとは
HackMDと連携して色々書けるってことで便利そうだなと
構築の流れ
楽そうという理由でまだまだ詳しくもないDockerを使ってみる
- ESXi上にUbuntuServer(18.04)を適当に構築
- DockerCE/docker-composeインストール
- mydnsでドメインを取得
- GROWIを入れてみる
- HackMDを入れてみる
- https-portalでHTTPSに
1.2.は飛ばして
3.はゾーン設定について
4.5.6.メイン
mydnsの設定
Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP
- Domain
- dev-hideaki.live-on.net
ラベル | レコード | リリースデータ |
---|---|---|
www | A | |
wiki | CNAME | www |
hackmd | CNAME | www |
どちらかというとmydnsの場合はちゃんとレコード更新し続ける仕組みが重要ですね。 私の場合は自宅のQNAP NASにcronを仕込んでます。
*/5 * * * * /share/cron/mydns.sh > /share/cron/cron.log
cronの中身は公式の"LET'S TRY"にあるのでそこを参照
GROWI × HackMD × https-portal
急に現れたhttps-portal…元々組み込もうと思っていたんですがなんとGROWI側でテンプレートまで用意されていた!これはその通りやればいけるのでは?
と安易にやったらまる一日死んだ… その結果が以下のconfig
- docker-compose.yml
ports: - 3000:3000 # localhost only by default links: ~~~~~~~~~~~~~~~~~~ - ELASTICSEARCH_URI=http://elasticsearch:9200/growi - PASSWORD_SEED=changeme # - FILE_UPLOAD=mongodb # activate this line if you use MongoDB GridFS rather than AWS - FILE_UPLOAD=local # activate this line if you use local storage of server rather than AWS # - MATHJAX=1 # activate this line if you want to use MathJax # - PLANTUML_URI=http:// # activate this line and specify if you use your own PlantUML server rather than public plantuml.com - HACKMD_URI=https://hackmd.dev-hideaki.live-on.net # activate this line and specify HackMD server URI which can be accessed from GROWI client browsers - HACKMD_URI_FOR_SERVER=http://hackmd:3000 # activate this line and specify HackMD server URI which can be accessed from this server container # - can be accessed from this server container
- docker-compose.override.yml
version: '3' services: ## # HackMD(CodiMD) container # see https://github.com/hackmdio/codimd#configuration # hackmd: build: context: ./hackmd environment: - GROWI_URI=https://wiki.dev-hideaki.live-on.net - HMD_DB_URL=mysql://hackmd:hackmdpass@mariadb:3306/hackmd - HMD_CSP_ENABLE=false ports: - 3100:3000 # localhost only by default depends_on: - mariadb restart: unless-stopped ## # MariaDB # see https://hub.docker.com/_/mariadb/ mariadb: image: mariadb:10.3 command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci environment: - MYSQL_USER=hackmd - MYSQL_PASSWORD=hackmdpass - MYSQL_DATABASE=hackmd - MYSQL_RANDOM_ROOT_PASSWORD=true restart: unless-stopped volumes: - mariadb_data:/var/lib/mysql # a fully automated HTTPS server powered by Nginx, Let's Encrypt # see https://github.com/SteveLTN/https-portal https-portal: image: steveltn/https-portal:1 ports: - '80:80' - '443:443' links: - app:app # - hackmd:hackmd environment: DOMAINS: 'wiki.dev-hideaki.live-on.net -> http://app:3000, hackmd.dev-hideaki.live-on.net -> http://dockerhost:3100' # STAGE: 'local' # STAGE: 'staging' STAGE: 'production' FORCE_RENEW: 'true' WEBSOCKET: 'true' CLIENT_MAX_BODY_SIZE: 0 restart: unless-stopped volumes: - https-portal_data:/var/lib/https-portal volumes: mariadb_data: https-portal_data:
docker-compose.overirde.ymlはexample内のhttps-portalとintegrate-with-hackmdから拝借してひとまとめ
これで一通り動いた…と思ったんですが…
hackmdも動いている…様に見えてたんですが…
hackmdでの編集が反映されない…
誰か教えてーーーー
こんな風になページをHackMDで開き直してみても
完全に初期状態… どう同期させるんだろう??
OSS-DB Exam Silver 技術解説無料セミナーに行ってきました。
前置き
昨日前置き書いたから今日も書くべきだろうか?一応書いておこう。
たぶんいらないけど思い込み。
というわけで行ってきましたセミナー!
非常に楽しかったのでそのご報告です。
ぇ?July Tech Festa2018じゃないのか?って
それは他の人が行ってるし、自分DB分からん初心者ですし…むしろちょうどいいよね( ̄▽ ̄)
OSS-DB Exam Silverとは?
OSS-DB Silver|DBスペシャリストを認定する資格 OSS-DB技術者認定試験
正直私はこのセミナーに申し込んでから内容を初めてしりました。
完全にPostgreSQLの話なんですね。
OSS-DBって最初聞いてMySQLかなと思いましたが、たぶんライセンスなんでしょうね。PostgreSQLはBSDライセンスというものらしくて無保証、改変自由とのことです。MySQLはGPLライセンスの他、商用ライセンスもあるのでそういうことかなぁと勝手に妄想してます。
セミナー内容
正直DBに関してSQL文が本当に少しだけ分かりますって程度の人間なのでレベル大丈夫かなと思っていましたが、むしろ対象はそんな人たちでした。
ですので自分としてはきれいにハマった感じです。
具体的には、
- データベースに必要な要素
- RDBMSとは
- PostgreSQLとは
- DB構造
- トランザクションの実装方式
- 障害対応
- SQL文の書き方
- DB管理者に必要なこと(PostgreSQLでのやり方)
とまぁサイトからダウンロードできるPDFを見れば分かるのですが、非常に分かりやすくまとまっている上、講師の方は他のDBソフトとも比較しながら教えて頂けるので実際に扱ったことはなくても利用する場面は想像できました。
ぶっちゃけ資格受験まで考えてはいませんでしたが、こういうところは試験で出ますよって言われると色々考えちゃいますよねwww
まとめ
OSS-DB Exam Silver 技術解説無料セミナーは
DB完全初心者にこそおすすめ
喜田 紘介先生、本当にありがとうございました。
LinuxでIPアドレスを固定化したい(CentOS7.5、Ubuntu18.04)
前置き
クラウド系を勉強して高単価エンジニアを目指そう!とAWS頑張ってきましたが問題が…
圧倒的に純粋なOSやアプリ/ミドルウェア側の知識が足りてない!!
というわけで心機一転、一からLAMP/Mail/Proxyサーバーやネットワークについて勉強していこうと思っています。正直オンプレの知識がそれなりに深くないとクラウドどころじゃないです。
前置きが長くなりましたが、2つの巨大Linux distributionであるRedhat系(CentOS)とUbuntuで比較しながら色々やっていこうと思います。ちなみにあくまで備忘録です、あしからず
CentOS7.5でのIP固定
- 設定内容
- IPアドレス: 192.168.0.101
- デフォルトゲートウェイ: 192.168.0.1
- DNSアドレス: 192.168.0.1
基本的にConfigファイルを直接設定はご法度!nmcli(CLI操作)やnmtui(GUI操作)コマンドで各パラメーターを設定していきます。
ちなみに参考にしたサイトの中でもおススメはこちら
CentOS 7 : 初期設定 : ネットワークの設定 : Server World
見ての通りですが、コマンド操作の場合は以下のように行います。
# nmcli connection modify <インターフェース名> <パラメーター>=<設定値>
ちなみに一つ一つ設定入れる前に管理しやすいように一行コマンドを書いてシェルにして保存しておくと楽です。 私の環境だと
#!/bin/bash nmcli connection modify <インターフェース名> \ connection.autoconnect yes \ #インタフェースの自動起動 ipv4.method manual \ #固定IPに設定 ipv4.address 192.168.0.101/24 \ #IPアドレス ipv4.gateway 192.168.0.1 \ #デフォルトゲートウェイ ipv4.dns 192.168.0.1 #DNSサーバーアドレス
こんな感じ(コメント箇所無し)
あとはインタフェースを再起動するかOS再起動します。
# nmcli connection down <インターフェース名>; nmcli connection up <インターフェース名>
または
# reboot
最後にIPアドレスの設定状況を確認
$ ip addr ~~~~ 2: <インターフェース名>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 ~~~~ inet 192.168.0.101/24 brd 192.168.0.255 scope global noprefixroute ens192
とちゃんと設定されていることが確認できました。また全パラメーター確認するのであれば以下
$ nmcli connection show <インターフェース名>
パラメーターシートとか作成するときには使うかなと思います。
Ubuntu18.04でのIP固定
- 設定内容
- IPアドレス: 192.168.0.102
- デフォルトゲートウェイ: 192.168.0.1
- DNSアドレス: 192.168.0.1
参考にさせていただいたサイトはこちら
【Ubuntu 18.04 LTS Server】ネットワーク設定を固定IPに変更 | The modern stone age.
正直これ以上言うことも書くことも無いし、非常に簡単
/etc/network/interfaceを使わなくなりましたよ!という話(Ubuntu17.10から)
書いてある通りではあるのですが、やっていきます。 まずはインタフェース名を確認
$ ip addr
または
$ ifconfig -a
50-cloud-init.yamlのファイルを開きインタフェースのIP設定を以下のようにします。
$ sudo vi /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by # the datasource. Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: <インタフェース名>: dhcp4: no addresses: - 192.168.0.102/24 gateway4: 192.168.0.1 nameservers: addresses: - 192.168.0.1 search: [] optional: true version: 2
最後にIPアドレスの反映
$ sudo netplan apply
インタフェースにIPアドレスが反映されているか確認
$ ip addr ~~~~ 2: <インタフェース名>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 ~~~~ inet 192.168.0.102/24 brd 192.168.0.255 scope global ens160
と無事反映されていることが確認できました。しかも他の方のブログに書いてある通り再起動は不要!!!
いいですねぇ♪ちなみにnmcliをインストールしてCentOSと同じようにすることも可能です。
Networkmanager自体は同じってことですかね。
では
昨日「第14回ゼロから始めるセキュリティ入門 勉強会」に行ってきた
お久しぶりです。
なんかいいネタ欲しい!あった!!
ってなってもメモ忘れたり、なに書こうとしてたっけ??
となり備忘録にしたいのになってすらいない感じです。
さて、とりあえず昨日Connpassで見つけたイベントに行ってきました。
[秋葉原]第14回ゼロから始めるセキュリティ入門 勉強会
LT大会なんだけど、初めてなので雰囲気を楽しもうと何も持たずに参加!
PCぐらいはあってもよかったかな?と思いつつ…
そしてLT大会といいつつほとんど自分みたいな感覚の人で集まっていたみたいで発表者3人!!
1時間半の枠に3人だから一人30分!!
完全に一つの大き目なプレゼンですねw
そして一人目、幹事でもある
ytakahashi1228さん
CTFに関しては自分も興味があって全くどうしていいか分からないという状況だったので非常にありがたかった。
ksctf
https://ksnctf.sweetduet.info/
をやってみたということだが、実際やってみるとPC環境によって上手くいかなかったりとかもあるとか…
即興で解析プログラムを書いたり、WiresharkでPcapみたり、攻撃仕掛けてみたりと色々楽しそう!!
ということでksctfは忘れないようにしようと心に決めた!!
お二人目は
lmt_swallowさん
若干19歳東大生にしてセキュリティエンジニア!
CSP(Content Security Policy)
についての話
元々Web系には全く疎い私。
正直すごい!けどよく分からない!!って感じでしたorz
とりあえずまずJavaScriptとかHTMLとか勉強だな
三人目は
tokorotenさん
セキュリティエンジニアでペネトレーションテストとかやってらっしゃる模様!
最近CISPを取得されたとかスゴイですね…えぇ金額(受験料6万円強)も
CSRF(クロスサイトリクエストフォージェリ)
に関するお話
デモも交えて実演していただいたので非常に分かりやすくてありがたかったです。
個人的感想ですが、セキュリティという話を話題に上げた際に 脆弱性という言葉がまず思い浮かぶと思います。
脆弱性 = 悪意をある挙動が可能なバグ
なのでWeb系のプログラマーの方が多いなというイメージです。
逆にインフラ屋としての話は可能そうだと思ったので次回の機会にでもLT参加してみたいと思いました。
やっぱり何かしら発信してみないとね♪
ではでは