1.はじめに
こんにちは。
仕事ではMatlabでGUIアプリや信号処理の実装などをしていますが、
所属会社にて、社内Wikiがあれば面白いかもね、というお話が出てきましたので、
まずは手軽にWikiを立ち上げて、使用感を確認してみようと思います。
また、今後長きにわたって運用していくかは未定ですので、OSSのWikiを使用します。
今回は、Pukiwikiを選択しました。
実行環境はHerokuです。
2.環境
- OS: Windows 10 Home
- Text Editor: Atom
- Pukiwiki: 1.5.3
- Heroku CLI: heroku 7.47.4 win32-x64 node-v12.16.2
- Git: 2.25.0
3.準備
前準備として、以下を行います。
- HerokuCLIのインストールと動作確認、ログインとアプリケーションの作成
- Pukiwikiのダウンロードと初期設定
3-1.HerokuCLI
詳細な情報は以下から確認することができます。
Heroku Dev Center / The Heroku CLI
1.インストール
HerokuCLIのインストーラは以下からダウンロードすることができます。
弊ローカル環境はWindows10の64bitですので、64-bit installer
を選択しました。
Heroku Dev Center / The Heroku CLI / Download and install
インストーラを実行し、インストールを完了させます。
HerokuCLIは、プロンプトがインストールされるわけではありませんので、
Windows標準のコマンドプロンプトから実行を行います。
2.動作確認
コマンドプロンプトを起動し以下を入力して、インストールが完了したかの確認を行います。
heroku --version
インストールが完了していれば、以下のようにバージョン情報が表示されます。
heroku/7.47.4 win32-x64 node-v12.16.2
以上で、HerokuCLIのインストールと動作確認が終了です。
3.ログイン
コマンドプロンプトで以下を入力し、ログインを行います。
heroku login
以下が表示されますので、q
以外のなにかしらのキーを押下します。
heroku: Press any key to open up the browser to login or q to exit:
ブラウザが立ち上がりログイン画面が表示されますのでログインします。
ログインが完了すると以下が表示されます。
Opening browser to https://cli-auth.heroku.com/auth/cli/browser/******
Logging in... done
Logged in as your.mailaddress@****.com
4.アプリケーションの作成
コマンドプロンプトで以下を入力し、アプリケーションを作成します。
heroku create [your application name]
以下が表示され、アプリケーションが作成されます。
Creating ⬢ test-pukiwiki... done
https://test-pukiwiki.herokuapp.com/ | https://git.heroku.com/test-pukiwiki.git
また、以下のみでアプリケーションの作成を行うと、
ランダムな名称でアプリケーションが作成されます。
heroku create
ミステリアスなアプリケーションが作成されました。
これは、HerokuCLIもしくはブラウザから、名称の変更を行うことができます。
Creating app... done, ⬢ mysterious-beyond-38222
https://mysterious-beyond-38222.herokuapp.com/ | https://git.heroku.com/mysterious-beyond-38222.git
ブラウザからアクセスしダッシュボードを確認すると
アプリケーションが作成されていることがわかります。
以上で、アプリケーションの作成は完了です。
今回は、プラットフォームとしてtest-pukiwiki
を使用します。
3-2.Pukiwiki
1.ダウンロード
Pukiwikiは以下からダウンロードすることができます。
今回は、最新のPukiwiki1.5.3
、UTF-8版
を選択しました。
ダウンロードしたZipファイルを解凍し、初期設定を行います。
2.初期設定
詳細な情報は以下から確認することができます。
初期設定では、上記の公式Wikiを参考に、pukiwiki.ini.php
を変更します。
特に、以下の3つを変更します。
- 管理者の名前
- 管理者のサイト
- 管理者パスワード
// Site admin's name (CHANGE THIS)
$modifier = 'anonymous';
// Site admin's Web page (CHANGE THIS)
$modifierlink = 'http://pukiwiki.example.com/';
// Admin password for this Wikisite
// Default: always fail
$adminpass = '{x-php-md5}!';
上記を下記に変更します。
// Site admin's name (CHANGE THIS)
$modifier = 'Your Name';
// Site admin's Web page (CHANGE THIS)
$modifierlink = 'https://test-pukiwiki.herokuapp.com/';
// Admin password for this Wikisite
// Default: always fail
$adminpass = '{x-php-md5}' . md5('YourPassword');
以上でPukiwikiの初期設定は完了です。
4.Herokuへのデプロイ
今回は、Gitを使用したデプロイ方法を試します。
詳細な情報は以下から確認することができます。
Heroku Dev Center / Deployment / Deploying with Git
1.ローカルリポジトリのinit、add、commit
アプリケーションが保存されているディレクトリへ移動し、
ローカルリポジトリの初期化と、リポジトリへのadd、commitを行います。
cd test-pukiwiki
git init
git add .
git commit -m "my first commit"
git commit
した際に、お前は誰だと言われましたので、gitに従い設定をします。
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'USERNAME@PCNAME.(none)')
git config --global user.email "your.mailaddress@****.com"
git config --global user.name "Your Name"
再度commit
します。
git commit -m "my first commit"
これで、commit完了です。
2.git pushを使用したHerokuへのデプロイ
次に以下を実行します。
heroku git:remote [Application Name]
set git remote heroku to https://git.heroku.com/test-pukiwiki.git
次に以下を実行してHerokuへデプロイします。
git push heroku master
Enumerating objects: 232, done.
Counting objects: 100% (232/232), done.
Delta compression using up to 8 threads
Compressing objects: 100% (217/217), done.
Writing objects: 100% (232/232), 375.53 KiB | 5.36 MiB/s, done.
Total 232 (delta 13), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> PHP app detected
remote:
remote: ! WARNING: No 'composer.json' found!
remote: !
remote: ! Your project only contains an 'index.php', no 'composer.json'.
remote: !
remote: ! Using 'index.php' to declare app type as PHP is deprecated and
remote: ! may lead to unexpected behavior.
remote: !
remote: ! Please consider updating your codebase to utilize Composer and
remote: ! modern dependency management in order to benefit from the latest
remote: ! PHP runtimes and improved application performance, as well as
remote: ! control over the PHP versions and extensions available.
remote: !
remote: ! For an introduction to dependency management with Composer and
remote: ! how to get the most out of PHP on Heroku, refer to the docs at
remote: ! https://getcomposer.org/doc/00-intro.md and
remote: ! https://devcenter.heroku.com/articles/getting-started-with-php
remote:
remote: -----> Bootstrapping...
remote: -----> Installing platform packages...
remote: NOTICE: No runtime required in composer.lock; using PHP ^7.0.0
remote: - composer (1.10.17)
remote: - php (7.4.12)
remote: - apache (2.4.46)
remote: - nginx (1.18.0)
remote: -----> Installing dependencies...
remote: Composer version 1.10.17 2020-10-30 22:31:58
remote: -----> Preparing runtime environment...
remote: NOTICE: No Procfile, using 'web: heroku-php-apache2'.
remote: -----> Checking for additional extensions to install...
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 14.4M
remote: -----> Launching...
remote: Released v3
remote: https://test-pukiwiki.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/test-pukiwiki.git
* [new branch] master -> master
何かWaningが出ていますが、とりあえずOKです。
3.動作確認
以下のコマンドで、アプリケーションを起動します。
※ブラウザが立ち上がります。
heroku open
以下のようにPukiwikiのFrontPageが表示され、
無事HerokuにPukiwikiがデプロイされていることが確認できました。
また、新規でのページ作成も問題なく行えています。
5.まとめ
試行錯誤してみましたが、以下の手順でPukiwikiをHerokuへデプロイすることができました。
1.HerokuCLIのインストール
インストール済みであれば飛ばしてOKです。
2.Pukiwikiのダウンロード、初期設定
Pukiwiki公式を参照し、最低限pukiwiki.ini.php
を修正しましょう。
3.gitを使用したリポジトリの作成とcommit
自分自身、普段Gitを使用できていないため、
今回は魔法の言葉としてほとんど実行していました。
4.git pushを使用してHerokuへデプロイ
以外に簡単でした。
6.さいごに
以前、Heroku上にGO言語で作成したHTTPサーバをデプロイしたりしましたが、
試しにサービスを立ち上げてみるために、Herokuを使用するのはかなり便利だと思います。
また、社内Wikiとして採用するものを、現状CrowiとPukiwikiで迷っているので、
CrowiもHerokuにデプロイして、改めてみんなで使用感を確かめたいなと思います。
(Crowiは公式から直でHerokuにデプロイできるのでとてもeasy.)
以前書いた、GO言語 + Herokuのお話。
Go言語とginで作ったHTTPサーバをHeroku上で動かしてみる
以上です。