[実施方法・教室]
[時間]
[講義内容と資料]
Read more →
[基本環境]
- Ubuntu 18.04
- Docker 19.03.12
[参考サイト]
[注意]
[Dockerコンテナの展開(ホストOS上で実行)]
- docker pull ubuntu:18.04
- docker run -itd --privileged -p 80:80/tcp --name redmine ubuntu:18.04
- docker exec -it redmine /bin/bash
[コンテナ(redmine)内での手続き]
- adduser ubuntu
- apt-get update
- apt-get upgrade
- apt-get install sudo
- usermod -G sudo ubuntu
- su - ubuntu
- sudo apt-get install locales
- sudo locale-gen ja_JP.UTF-8
- locale -a
- sudo apt-get install build-essential zlib1g-dev libssl-dev libreadline-dev
- sudo apt-get install libyaml-dev libcurl4-openssl-dev libffi-dev
- sudo apt-get install postgresql libpq-dev
- sudo apt-get install apache2 apache2-dev
- sudo apt-get install imagemagick fonts-takao-pgothic
- sudo apt-get install subversion git vim
- curl -O https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.gz
- tar xvf ruby-2.6.5.tar.gz
- cd ruby-2.6.5
- ./configure --disable-install-doc
- make
- sudo make install
- cd
- ruby -v
- sudo service postgresql start
- sudo -u postgres createuser -P redmine
- sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
- sudo mkdir /var/lib/redmine
- sudo chown www-data /var/lib/redmine
- sudo -u www-data svn co https://svn.redmine.org/redmine/branches/4.1-stable /var/lib/redmine
- cd
- vi database-yml.sh
- chmod 755 database-yml.sh
- sudo ./database-yml.sh
- more /var/lib/redmine/config/database.yml
- ファイルの存在を確認
- password:にpostgresqlのユーザredmineのパスワードを書く
- vi configuration-yml.sh
- chmod 755 configuration-yml.sh
- sudo ./configuration-yml.sh
- more /var/lib/redmine/config/configuration.yml
- cd /var/lib/redmine/config/
- sudo chown www-data:www-data database.yml
- sudo chown www-data:www-data configuration.yml
- cd /var/lib/redmine/
- sudo -u www-data bundle install --without development test --path vendor/bundle
- sudo -u www-data bin/rake generate_secret_token
- sudo -u www-data RAILS_ENV=production bin/rake db:migrate
- sudo gem install passenger -N
- sudo passenger-install-apache2-module --auto --languages ruby
- cd
- vi redmine-conf.sh
- chmod 755 redmine-conf.sh
- sudo ./redmine-conf.sh
- more /etc/apache2/conf-available/redmine.conf
- ファイルの存在を確認
- 3行目(</Directory>)以降の内容がpassenger-install-apache2-module --snippetの出力結果であることを確認
- sudo a2enconf redmine
- apache2ctl configtest
- sudo service apache2 reload
- sudo vi /etc/apache2/sites-enabled/000-default.conf
- DocumentRootの値を /var/lib/redmine/public に変更
- apache2ctl configtest
- sudo service apache2 reload
- sudo service apache2 start
- sudo vi /etc/init.d/redmine-start.sh
- sudo chmod 755 /etc/init.d/redmine-start.sh
- sudo vi /etc/init.d/redmine-stop.sh
- sudo chmod 755 /etc/init.d/redmine-stop.sh
- sudo service postgresql stop
- sudo service apache2 stop
- exit
- exit
[Dockerイメージの生成(ホストOS上で実行)]
- docker stop redmine
- docker commit redmine ubuntu1804:redmine
[DockerイメージからRedmineを展開(ホストOS上で実行)]
- docker run -itd --privileged -p 8080:80 --name sample ubuntu1804:redmine
- docker exec sample /etc/init.d/redmine-start.sh
[Redmineコンテナの停止]
- docker exec sample /etc/init.d/redmine-stop.sh
- docker stop sample
[Redmineコンテナの起動]
- docker start sample
- docker exec sample /etc/init.d/redmine-start.sh
[Redmineの起動を確認]
- 手元PCのウェブブラウザで http://RedmineのIPアドレス:8080/ に接続する
Read more →
2023年11月29日(水曜日)
- 担当講義-ゼミナールから、Google Cloudセミナーの資料がダウンロードできます。(※ 配信は終了しました。)
2022年2月2日(水曜日)
- 担当講義-ゼミナールの卒論用TeXテンプレートをアップデートしました。
2022年2月1日(火曜日)
- 担当講義-ゼミナールに、ゼミ室装備品(実験機器)の情報を追加しました。
2020年3月29日(日曜日)
- 本サイトは、Googleサイトで運用していた「MIURA@OUC」を引き継いでいます。
- 今後は、本サイトから講義資料(主にPDF)を発信します。
- これに伴いGoogleサイト上の「MIURA@OUC」を閉鎖します。
Read more →
[基本環境]
[注意]
- PythonでCGIは…と思う人にはお勧めしません
[nginxとfcgiwrapのインストール]
- sudo apt update
- sudo atp upgrade
- sudo apt install python3 nginx-full fcgiwrap vim
- sudo vi /etc/nginx/fcgiwrap.conf
- cd /var/www
- sudo mkdir cgi-bin
- sudo chmod 755 cgi-bin
- sudo vi /etc/nginx/sites-availabel/default
server{…}の中に、include fcgiwrap.conf; を追加する
- sudo service nginx restart
- sudo service fcgiwrap restart
- cd cgi-bin
- sudo vi test.py
- sudo chmod 755 test.py
[CGIの動作確認]
- http://IPアドレス/cgi-bin/test.py
Read more →
[基本環境]
- Python 3.7.3
- Docker 19.03.8
[注意]
- Docker SDK for Pythonを基にしたDocker制御ではない
- Subprocessを基にしたDocker制御である
- Dockerのオプションを多様したいなら、結局、Subprocessに落ち着く
[Dockerコンテナ一覧の取得]
- Dockerコマンドなら
- Pythonコードなら
- import subprocess
- comp = subprocess.run([‘docker’, ‘ps’, ‘-a’], encoding=‘utf-8’, stdout=subprocess.PIPE)
- print(comp)
[Dockerコンテナの起動]
- Dockerコマンドなら
- docker run -itd --priviledged -p 80:80/tcp --name websrv debian:stable
- Pythonコードなら
- import subprocess
- comp = subprocess.run([‘docker’, ‘run’, ‘-itd’, ‘--priviledged’, ‘-p’, ‘80:80/tcp’, ‘--name’, ‘websrv’, ‘debian:stable’], encoding=‘utf-8’, stdout=subprocess.PIPE)
- print(comp)
[まとめ]
- subprocess.runの第一引数のリストにコマンドとオプションを列挙することで、オプションが増えても気にせず実行できる
Read more →
[基本環境]
- Debian 10.3.0 (amd64)
- Docker 19.03.8
[参考サイト]
[注意]
- Docker環境の構築や他のサイトを読んで、Docker環境を構築していること
- 本記事は、Jupyter NotebookをWEBブラウザで確認するまでの手続きである
[Dockerコンテナの展開]
- docker pull debian:stable
- docker run -itd --privileged -p 8888:8888/tcp -p 8888:8888/udp --name jupyter debian:stable
- docker exec -it jupyter /bin/bash
[コンテナ(jupyter)内での手続き]
- apt update
- apt upgrade
- apt install git
- apt install curl
- apt install bzip2
- apt install vim
- git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- echo ’export PYENV_ROOT="${HOME}/.pyenv"’ » ~/.bash_profile
- echo ’export PATH="${PYENV_ROOT}/bin:$PATH"’ » ~/.bash_profile
- echo ’export PATH="${PYENV_ROOT}/shims:$PATH"’ » ~/.bash_profile
- echo ’eval “$(pyenv init -)”’ » ~/.bash_profile
- source ~/.bash_profile
- pyenv install anaconda3-5.3.1
- echo ’export PATH="$PYENV_ROOT/versions/anaconda3-5.3.1/bin:$PATH"’ » ~/.bash_profile
- source ~/.bash_profile
- pyenv versions
- pyenv global anaconda3-5.3.1
- ipython3
- In [1]: from IPython.lib import passwd
- In [2]: passwd()
- Jupyter Notebookを開くときのパスワードを設定する
- Out[2]: ‘sha1:xxxxxxxxx’ これをメモしておく
- In[3]: quit()
- jupyter-notebook --generate-config
- vi ~/.jupyter/jupyter_notebook_config.py
- 先頭(本当はどこでも良い)に以下の内容を追加する
c.IPKernelApp.pylab = ‘inline’
c.NotebookApp.ip = ‘*’
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = u’sha1:xxxxxxxxx’ メモしたやつ
[Jupyter Notebookの起動]
- mkdir workspace ホームディレクトリで実行する
- cd workspace
- jupyter-notebook --allow-root
- WEBブラウザで http://IPアドレス:8888/ にアクセスする
- パスワードには上の passwd() で設定したものを記述する
- 停止するときはControl + Zを押す
- プロセスが生きていたらkillで強制終了する
[おまけ:コンテナ起動時にJupyter Notebookを一緒に起動する]
- シェルスクリプトを仕込む (コンテナ内で実行する)
- vi /etc/rc.local
- 以下の内容を記述する
#!/bin/bash
/etc/init.d/jupyter.sh
- chmod 755 /etc/rc.local
- vi /etc/init.d/jupyter.sh
- 以下の内容を記述する
#!/bin/bash
. ~/.bash_profile
cd /workspace
sleep 3;jupyter-notebook --allow-root
- chmod 755 /etc/init.d/jupyter.sh
- exit コンテナ(jupyter)から一度出る
- コンテナ(jupyter)を起動する
- docker restart jupyter
- docker exec jupyter /etc/rc.local
Read more →
[基本環境]
[apache2-utilsのインストール]
- sudo apt update
- sudo apt install apache2-utils
[.htpasswdの生成]
- cd /home/ユーザ名/
- mkdir web
- htpasswd -c /home/ユーザ名/web/.htpasswd user-id
- user-idはBasic認証のユーザ名であり、任意のユーザ名で良い
[nginx.confの編集]
- cd /etc/nginx
- sudo vi nginx.conf
- http{…}の中に、
auth_basic “Your Auth Message”;
auth_basic_user_file /home/ユーザ名/web/.htpasswd;
を追加する
Read more →
[基本環境]
- Oracleクラウド (VMインスタンス)
- Ubuntu 18.04
[問題設定]
- OSがUbuntuのVMインスタンスを使いWEBサイトを展開する
- OSのFWで80/tcpを開放してもWEBサイトにアクセスできない
[対処方法]
- sudo vi /etc/iptables/rules.v4
- -A INPUT -j ACCEPT を先頭に追加する
- reboot
- 「Inputは常に受信する」になるが、OracleのSEが言うに、OCIのFW機能で防御するのが通常らしい
Read more →
[基本環境]
- Ubuntu 18.04
- nextcloud 13.0.1
- Oracleクラウド (NFSサーバ)
[参考サイト]
[NFSサーバのマウント]
- 前提としてNFSサーバが構築されていること
(本記事の場合はOracleクラウドのマネージドサービスで構築した)
- sudo mkdir -p /mnt/filesystem
- sudo mount IPアドレス:/nfsdir /mnt/filesystem
- IPアドレスはNFSサーバのアドレス
- nfsdirはNFSサーバで公開されたディレクトリ名
[nextcloudからの接続]
- コンソール上で実行する
- cd /mnt/filesystem
- sudo mkdir nextdir
- sudo chmod -R 777 nextdir
- sudo chown -R user:group nextdir
- userとgroupは利用中の環境に合わせて変更する
- ブラウザ上で実行する
- 管理者でログインする
- 「+アプリ」->「External storage support」->「有効にする」
- 「設定」->「外部ストレージ」
- フォルダ名: 任意の名前 (nextcloud上で表示される)
- 外部ストレージ: ローカル
- 設定: /mnt/filesystem/nextdir
Read more →
[基本環境]
[参考サイト]
[nginxとrtmpのインストール]
- sudo apt update
- sudo apt upgrade
- sudo add-apt-repository ppa:nginx/stable
- レポジトリ追加の際の確認事項に対しては、[Enter]を押す
- sudo apt install nginx libnginx-mod-rtmp
[rtmpの有効化]
- cd /etc/nginx
- sudo vi nginx.conf
- sudo service nginx restart
[受付用index.htmlの作成]
- cd /var/www/html
- sudo vi index.html
- hogeliveをnginx.confと同じものにする
- ipアドレスをストリーミングサーバのIPアドレスにする
- hogekeyを自由に変更する
[配信システムの構築]
- mp4動画を配信するだけなら、以下の作業は必要ない
- /var/www/html以下にディレクトリを作成して、mp4動画を保存する
- sudo apt-get install ffmpeg
- sudo add-apt-repository ppa:obsproject/obs-studio
- sudo apt-get update
- sudo apt-get install obs-studio
- obs
- 配信先: rtmp://IPアドレス:1935/hogelive
- ストリームキー: hogekey
[視聴者の操作]
- WEBブラウザで http://IPアドレス/ にアクセスする
Read more →