メインコンテンツまでスキップ

uwuzuサーバーを立てよう!

Ubuntu編
作成 : だいちまる


uwuzuサーバーの立て方ページをご覧いただきありがとうございます!
まだUbuntuでの構築方法しか書いておりませんがサーバー構築時の手引きとしてどうぞ!
無事新しいサーバーが立つことを期待しております!
ここではApache2、php、MySQLの導入から説明しているのですでに導入済みの方は2. php設定からどうぞ!

サクサクすすむ?

以下のものがすでにインストールされている場合は2. php設定までスキップが可能です!

0. 今回の環境

OS : Ubuntu Desktop 23.04
Bit数 : 64 bit
メモリ容量 : 4GB
ストレージ容量(OS込み) : 70GB
インターネットへの接続 : 必須
その他 : phpMyAdmin導入済み、テキストエディタはnano使用

1. 下準備としてApache2、php、MySQL、その他必須なお品物の導入

事前準備としてapt updateをしておきましょう

sudo apt update

Apache2の導入

たぶん?

LiteServerでも動きます。
nginxはわかりません...

まずこのコマンドをターミナルから実行することでインストールができます。

sudo apt install apache2

インストール完了後はバージョンの確認をしましょう。

apache2ctl -v

もしApacheが起動していなければ下のコマンドで起動をしましょう。

sudo systemctl start apache2

Apache導入後は一度Ubuntu上でブラウザを開き、localhostにアクセスして正常に画面が表示されているか確認してください。
正常に画面が表示されていれば次のステップへ進みましょう!

phpの導入

Apache2に続いてphpのインストールです!
uwuzuはphp8系のみ対応しておりますのでphp8.0以上を導入してください!

まず下のコマンドを実行することでインストールが可能です。

sudo apt install php

インストール完了後はバージョンの確認をしましょう。

php -v

問題なくphp8以上がインストールできたら次のステップへ進みましょう!

MySQLの導入

たぶん?

mariadbでも動きます。

早速下のコマンドを実行しましょう。

sudo apt install mysql-server

インストールが完了したらバージョンの確認をしましょう。

mysql --version

MySQLとphpを連携するやつの導入

以下のコマンドで導入が可能です!

sudo apt install php-mysql

php mbstringの導入

以下のコマンドで導入が可能です~

sudo apt install php-mbstring

インストールが完了したら動作させるためにApacheの再起動とMySQLの再起動を行いましょう。

sudo systemctl restart apache2
sudo systemctl restart mysql

2. phpの設定

ここではuwuzuの動作に必要なphpの設定を行います。
まずphp.iniを開きましょう。
(以下のコマンドは私の環境のものです。各自環境に合わせて直してください)

sudo nano /etc/php/{バージョン}/cli/php.ini

開いたら「↓」キーでひたすら下に移動して;extension=なんとかかんとかx何十行かがあるところまで移動してください。
そしたらその中から以下のものの;を消してください。

extension=fileinfo
extension=gd
extension=pdo_mysql
extension=mbstring

消し終わったらCtrl+Sで保存してCtrl+Xで閉じましょう。

3. MySQLでのuwuzuデーターベース接続用ユーザーの作成

ここではuwuzuの動作に必要なMySQLの設定を行います。
早速ですが下のコマンドでMySQLにrootアカウントでログインしましょう。
MySQLのrootアカウントにパスワードを設定している方は-pをつけてパスワードを入力してログインしてください。

sudo mysql -u root

次に、ユーザー作成コマンドを入力しましょう。
idpasswordはそれぞれご自身で使用されて、覚えられるものを入力してください。

create user 'id'@'localhost' identified by 'password';

ユーザーを作成できたら権限を付与しましょう。
(ご自身の思う適切な権限を付与しましょう。開発環境などであればallでも大丈夫かと思われます。)

grant all on *.* to 'id'@'localhost';

そして最後に権限を反映させるため下のコマンドを実行しましょう。

flush privileges;

作り終わったらexitで戻りましょう。

exit

4. uwuzuの導入

ふるいとすご~~~~くきけん!!!

安全性の観点から最新版をダウンロードしてください

Githubよりuwuzuの最新版をダウンロードしてください。
ダウンロードが終了したらサーバーのメインフォルダとなる場所にuwuzu本体を解凍しましょう。

解凍ができたらApacheよりサーバーディレクトリの値をuwuzu本体の解凍先に設定しましょう。(ここでは例として/home/admin_user/server/uwuzu/にuwuzuが解凍されたものとします。)
以下のコマンドでApacheの設定ファイルを開きましょう。

sudo nano /etc/apache2/apache2.conf

apache2.confを開いたら下にスクロールして<Directory /var/www/html>のところを以下のように修正しましょう。
また、AllowOverride Noneという文字列を見つけたらすべてAllowOverride ALLに直しましょう!←大事 また、セキュリティの関係から、Options Indexes FollowSymLinksも消したほうが良いでしょう。

<Directory "/home/admin_user/server/uwuzu">
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>

修正したらCtrl+Sで保存してCtrl+Xで閉じましょう。 次に以下のコマンドでもう一つの設定ファイルでもサーバーディレクトリの値を修正しましょう。

sudo nano /etc/apache2/sites-available/000-default.conf

DocumentRootを修正して、Ctrl+Sで保存、Ctrl+Xで閉じましょう。

ServerAdmin webmaster@localhost
DocumentRoot /home/admin_user/server/uwuzu

次にuwuzuの使用するDB側での接続設定です。

tips

phpMyAdminから行うと楽ですっ!

まず先にMySQLにDBを作り、そのDBにuwuzuの構造ファイルをインポートしましょう
今回は例として、uwuzu_dbを作成します。
rootでログインして↓

sudo mysql -u root

DBを作ります↓

CREATE DATABASE uwuzu_db;

先程ダウンロードして解凍したuwuzuのフォルダ内にuwuzu_database.sqlという構造ファイルがあるはずなのでそれをインポート↓

use uwuzu_db;
source /home/admin_user/server/uwuzu/uwuzu_database.sql;

インポートができたらロールの設定をしましょう!

use uwuzu_db;
insert into role (rolename, roleauth, rolecolor, roleidname) VALUES ('ゆーざー', 'user', 'CCCCCC', 'user');
insert into role (rolename, roleauth, rolecolor, roleidname) VALUES ('公式', 'official', 'CCCCCC', 'official');
insert into role (rolename, roleauth, rolecolor, roleidname) VALUES ('凍結済み', 'ice', 'CCCCCC', 'ice');

構造ファイルをインポートしてロール設定を行い、DB作成が無事できたら一度exitし、uwuzuのフォルダ内にあるファイルの設定を行いましょう。

exit;

続いてuwuzu本体側の設定です。
解凍したuwuzuフォルダ内にあるdb.phpを開き、uwuzuのDB接続設定を書き込みましょう。

sudo nano /home/admin_user/server/uwuzu/db.php
<?php // データベースの接続情報
define( 'DB_HOST', 'localhost');//←MySQLの接続先
define( 'DB_USER', 'id');//←DB接続用ユーザーのID
define( 'DB_PASS', 'password');//←DB接続用ユーザーのパスワード
define( 'DB_NAME', 'uwuzu_db');//←先程作成したuwuzuのデータベース

// タイムゾーン設定
date_default_timezone_set('Asia/Tokyo');
?>

書き込めたらCtrl+Sで保存、Ctrl+Xで閉じましょう。

それでは次にSQLモードの設定をしましょう。
MySQLのSQLモードを変更しましょう!
(strict_trans_tablesを削除します。あとはお好みで調整してください。わからなければ以下のもののコピーでも動作します。)

みて!!!

この工程をパスするとuwuzuがエラーを起こします。

下のコマンドでMySQLの設定ファイルを開いて、

sudo nano /etc/mysql/my.cnf

ファイルの最下部に以下の文字列を追加してください。(SQLモードにSTRICT_TRANS_TABLESがあるとだめです。)
下のコマンドでモードを上書き!

[mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION

上書きができたらOKです。

.htaccessの設定を行います。
uwuzuの動作にはrewriteモジュールとheaderモジュールが必要なのでそれを導入します!

sudo a2enmod rewrite
sudo a2enmod headers

最後にファイルの権限設定です!
Apacheのアカウントに権限を付与してあげてください。
(自分とApacheのグループを作り、それを使って付与するといいかも。詳細は調べてね~)

sudo chmod -R 755 /home/admin_user/server/uwuzu/.

グループを使って自分とApacheに権限を付与する際は以下のコマンドでお願いします!

sudo chmod -R 775 /home/admin_user/server/uwuzu/.

Apache2とMySQLを再起動しましょう!

sudo systemctl restart apache2
sudo systemctl restart mysql

これでuwuzu導入完了です!

5. 初期設定

では早速ブラウザでlocalhost/adminを開きましょう!
画面の指示に従って管理者アカウントを作成しましょう!

アカウントの作成が完了したらログインし、左側メニューの「サーバー設定」から各種設定を行ってください。

もしネット上に公開する場合はドメインなどの設定を各自行ってくださいね、
インターネット上に公開する場合は絶対にSSLを設定してください
uwuzu v1.2.28から必須要件になりました 最後までお読みいただきありがとうございました!

今後とも楽しいuwuzuライフをお楽しみください!

2024/03/28(最終更新)