概要
- クソみたいな備忘録
- C++でWeb開発したかった
- GCCでBoostとかを使いつつC++11で開発したかったがclangとの共存等がちょっとややこしかった
- VirtualBoxにCentOS7を入れて、バックグラウンドでOSを動かしてSSHで接続するようにした
- CentOS上でzshとvimを導入し、使いやすくした
- 諸々のソフトウエア等をインストールした
やったこと
VM上にCentOS7をインストール
がんばった(がんばってない、素直にやった)
VM上CentOSをコマンドラインからWindowを立ち上げずに起動できるようにする
$ cat .zprofile alias centos7='VBoxManage startvm CentOS7 --type headless'
これで$ centos7
って打つだけで裏でCentOSが起動する
この--type headless
ってのがキモ
OS XからSSHでVM上CentOSに接続する
これを参考にすると良いと思います www.task-notes.com
注意点 * enp0s8の設定時に/24を忘れるとダメ * 上で192.168.56.10になっているのは192.168.56.111とかにしたほうが良い
また、OS XからSSHで接続する際に、毎回このアドレスを打つのはだるいので/etc/hosts
に192.168.56.111 centos7
を追記しました
こうすれば、SSHで接続する時に楽です
$ cat /etc/hosts ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 192.168.56.111 centos7 $ ssh root@centos7
zshを設定した
centos zshでググれば設定は沢山出てくるはず 僕の考えたさいつよの設定↓
vimを入れた
vim力低いのでアレ
$ yum install vim
僕の.vimrc
CMake 3.4のインストール
yumで入るCMakeはとても古いので、最新版を入れた
$ cd /usr/local/src $ yum install wget gcc gcc-c++ $ wget https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz $ tar xvf cmake-3.4.3.tar.gz $ cd cmake-3.4.3 $ ./bootstrap $ make $ make install
crowを動かす
今回使いたかったのはこれ、ipkn/crow
まず、boostを入れる
$ yum install boost boost-devel
バージョン低いけどまぁ我慢、そのうち上げたい
プロジェクトを作っていろいろする ポート番号等は任意で
$ mkdir ~/development/hoge $ cd ~/development/hoge $ git init $ git submodule add https://github.com/ipkn/crow $ vim CMakeLists.txt $ vim main.cpp $ cmake . $ make $ .hoge (2016-03-05 14:36:01) [INFO ] Crow/0.1 server is running, local port 80
CMakeLists.txt
cmake_minimum_required(VERSION 3.3) project(hoge) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") find_package(Boost COMPONENTS date_time filesystem system thread REQUIRED) INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} ) include_directories("crow/include") set(SOURCE_FILES main.cpp) add_executable(hoge ${SOURCE_FILES}) TARGET_LINK_LIBRARIES( hoge ${Boost_LIBRARIES} )
main.cpp
#include "crow.h" int main() { crow::SimpleApp app; CROW_ROUTE(app, "/")([]() { return "Hello world"; }); app.port(80).multithreaded().run(); }
80番ポートを開放
iptablesじゃなくなったっぽいね
$ firewall-cmd --add-port=80/tcp --zone=public --permanent$ iptables -A INPUT -p tcp --sport 80 -j ACCEPT $ firewall-cmd --reload
あと、VirtualBoxの設定から、ネットワーク→アダプター1→ポートフォワーディングで80番を通しておきます
これでCentOS上でサーバーを動かして、そこにOS Xからアクセスできる!!
最後に
Pythonで書きます