Article - Hobby 趣味記事

Ubuntu18.04にWebサーバを構築.開発環境はCakePHP3です.

IoT教育の導入(?)に向けてWebサーバを久しぶりに構築したので,そのメモです. Web系の知識をアップデートする余裕がないので,既知の内容で構築したので古いことをやってるかもしれません.
OSはubuntu18.04でWebサーバはapacheを使い,開発フレームワークはcakePHP3でDBはMySQLの構成です. あと,ソースはgitで管理します.

下記の手順(CakePHP3のインストール)はほぼこちらを参考にすればOK.gitの手順を失敗したため,ちょっとイレギュラーなことをしています. 念のため,私の手順を書いています.コマンドは上記のサイトを参考に!

1.PHP他のインストール
2.Apacheのインストール
3.MySQLのインストール
4.CakePHPのために,intlパッケージとcomposerをインストール
5.gitのインストール+事前に用意したリポジトリの空(readmeを除く)のクローンの作成
6.過去にダウンロードしていたCakePHPのファイル一式を対象のディレクトリに展開
  →ここがちょっと特殊.クローンを先に展開してしまったため,CakePHPのプロジェクトを作成しようとしたらエラーが発生したためです. ダウンロード先のディレクトリが空じゃないとエラーが発生してしまいます. なので,過去にダウンロードしておいたファイル一式を展開することにしました.あると便利なので公開しても良いのかな?
7.vendor/autoload.phpがないというエラーが発生するので,対象のディレクトリで下記のコマンドを実行することで解決.

Composer install

8.DocumentRootの設定.「/etc/apache2/sites-enabled/000-default.conf」と「/etc/apache2/sites-available/default-ssl.conf」(こっちはいらないかも?)のファイルのDocumentRootを下記のように変更しました.

DocumentRoot /var/www/xxx/webroot/

その後apacheの再起動.

sudo apachectl configtest systemctl reload apache2

この時点でブラウザでサーバにアクセスすれば,CakePHPのindex.phpが画面が開くはず!

9.config/app.default.phpのDB設定内容を更新する.

'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'user',    ←ユーザ名
'password' => 'password',  ←パスワード
'database' => 'db name',  ←データベース名

趣味記事 ぴっくあっぷ