uwuzuサーバーを立てよう!
Ubuntu編
作成 : だいちまる
uwuzuサーバーの立て方ページをご覧いただきありがとうございます!
まだUbuntuでの構築方法しか書いておりませんがサーバー構築時の手引きとしてどうぞ!
無事新しいサーバーが立つことを期待しております!
ここではApache2、php、MySQLの導入から説明しているのですでに導入済みの方は2. php設定からどうぞ!
以下のものがすでにインストールされている場合は2. php設定までスキップが可能です!
これらがインストールされている場合はGithubのreadme.mdにある手順を見たほうが良きかも!
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/{バージョン}/apache2/php.ini
開いたら「↓」キーでひたすら下に移動して;extension=なんとかかんとか
x何十行かがあるところまで移動してください。
そしたらその中から以下のものの;
を消してください。
extension=fileinfo
extension=gd
extension=pdo_mysql
extension=mysqli
extension=mbstring
extension=zip
消し終わったらCtrl+Sで保存してCtrl+Xで閉じましょう。
(zipに関しては事前に書かれていない可能性があります。書かれていない場合は書き足してください。)
3. MySQLでのuwuzuデーターベース接続用ユーザーの作成
ここではuwuzuの動作に必要なMySQLの設定を行います。
早速ですが下のコマンドでMySQLにrootアカウントでログインしましょう。
MySQLのrootアカウントにパスワードを設定している方は-pをつけてパスワードを入力してログインしてください。
sudo mysql -u root
次に、ユーザー作成コマンドを入力しましょう。
id
とpassword
はそれぞれご自身で使用されて、覚えられるものを入力してください。
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側での接続設定です。
phpMyAdminから行うと楽ですっ!
まず先にMySQLにDBを作り、そのDBにuwuzuの構造ファイルをインポートしましょう
今回は例として、uwuzu_dbを作成します。
rootでログインして↓
sudo mysql -u root
DBを作ります↓
CREATE DATABASE uwuzu_db;
ここから先のデータベースの構築操作はuwuzu v1.3.6から必要なくなりました!domain/admin/にアクセスすると セットアップを開始できます!
uwuzu v1.3.6を使用する場合、ここから先、SQLモードの設定まで、スキップが可能です!
先程ダウンロードして解凍した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接続設定を書き込みましょう。
このDB接続設定もはuwuzu v1.3.6から必要なくなりました!domain/admin/にアクセスすることで簡単に設定できます!
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のデータベース
define( 'ENC_KEY', '10c4|~|eacf');//←ユーザーデータ暗号化に使用する128桁の暗号学的に安全な文字列
// タイムゾーン設定
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/08/22(最終更新)