README!!
This commit is contained in:
parent
4f514763a3
commit
ce58006849
266
README.md
266
README.md
|
|
@ -1,157 +1,137 @@
|
|||
このリポジトリは[uwuzu](https://github.com/Daichimarukana/uwuzu)を改変したものです。
|
||||
以下の変更点が含まれます。
|
||||
実機テストをしていないため全て実質エアプです()
|
||||
バグなどがありましたら1.6.5と見合わせて実装お願いします
|
||||
|
||||
# [<img src="/img/uwuzucolorlogo.svg" width=140px>](https://docs.uwuzu.xyz)
|
||||
**[ServerList](https://uwuzu-serverlist.emptybox.win)**
|
||||
**[Document](https://docs.uwuzu.xyz)**
|
||||
**[Community](https://discordapp.com/invite/mNdGApnBFk)**
|
||||
|
||||
|
||||
uwuzuは、新しくて、楽しくて、そんなSNSです。
|
||||
基礎的なマイクロブログSNSとしての機能を兼ね備えています!
|
||||
```
|
||||
---
|
||||
title: APIドキュメントを内蔵する
|
||||
labels: feature
|
||||
---
|
||||
|
||||
## Introduction
|
||||
どんなSNSなの?
|
||||
uwuzuは簡潔に言えばシンプルなマイクロブログSNSです。
|
||||
基本的なSNSを楽しむための機能と**独自のお楽しみ機能**が備わっています!
|
||||
もちろん画像や動画の添付も可能、カスタム絵文字機能などもあります...
|
||||
## 概要
|
||||
現在のuwuzuではdocs.uwuzu.comによる簡易的なAPIドキュメントが使用されています。
|
||||
しかしScalar+OpenAPIを使用することで分かりやすいドキュメントが作成できます。
|
||||
|
||||
### 見た目
|
||||

|
||||
### 目的
|
||||
- 内蔵することで今後バージョンアップしてもサーバーのバージョンのドキュメントが見れる
|
||||
- 論理に強い
|
||||
|
||||
### 機能比較
|
||||
見た目だけ見せられても困るそんなあなたに!
|
||||
| 一般名? | uwuzu | Twitter | Misskey | Mastodon |
|
||||
| ------------------ | ---------------------------- | -------------------- | ---------------------------------------- | ---------------------- |
|
||||
| 投稿 | ユーズ | ツイート(ポスト) | ノート | トゥート |
|
||||
| 拡散 | リユーズ | リツイート(リポスト) | リノート | ブースト |
|
||||
| すき | いいね | いいね | リアクション | お気に入り |
|
||||
| センシティブな投稿 | NSFW | センシティブな投稿 | NSFW | NSFW/CW |
|
||||
| サービス | サーバー | Twitter(X) | サーバー・インスタンス | インスタンス |
|
||||
| ブックマーク | ブックマーク | ブックマーク | お気に入り | ブックマーク |
|
||||
| 文字数制限 | 管理者設定(最大16777216文字) | 280文字 | 3000文字 | 500文字 |
|
||||
| タイムライン | おすすめ・ローカル・フォロー | おすすめ・フォロー中 | ホーム・ローカル・ソーシャル・グローバル | ホーム・ローカル・連合 |
|
||||
### イメージ
|
||||
1. ユーザーがログイン状態で/api-docsにアクセスします
|
||||
2. ロード画面が表示されます(Iconify+生CSS)
|
||||
3. ロードされた後ScalarによるAPIドキュメントが表示されます
|
||||
|
||||
## Get started
|
||||
uwuzuを使いたいそんなあなたに!
|
||||
簡単にuwuzuを始めるならこっち! → [ServerList](https://uwuzu-serverlist.emptybox.win)
|
||||
もしuwuzuサーバーを構築しようとしているのであれば...続けて読んでください...
|
||||
### 誰が実装する?
|
||||
- 私に任せてください。
|
||||
|
||||
### 技術スタック
|
||||
php - バックエンド全体を支えています。
|
||||
MySQL - データの保存を主な仕事として取り扱っています。
|
||||
jQuery - バックエンドとフロントエンドの架け橋です。
|
||||
どうです?このシンプルさ✨
|
||||
|
||||
### 最低要件
|
||||
Software
|
||||
- Apache 2
|
||||
- php 8
|
||||
- MySQL 8.0 or MariaDB 10.4
|
||||
|
||||
Machine
|
||||
- Memory 1GB
|
||||
- Storage 500MB(ユーザーデータのある程度の保存含め)
|
||||
### コードはどのように送る?(上記で「私に任せてください。」を選んだ方)
|
||||
このリポジトリ
|
||||
|
||||
### インストール
|
||||
ここではMySQL, Apache2, php8.0が導入されている前提で進めます。
|
||||
---
|
||||
```
|
||||
|
||||
#### ダウンロード
|
||||
Githubの[リリース](https://github.com/Daichimarukana/uwuzu/releases)より最新リリースをダウンロードしてください。
|
||||
```
|
||||
---
|
||||
title: APIのHTTPステータスコードを200以外に対応させる
|
||||
labels: feature
|
||||
---
|
||||
|
||||
#### 展開
|
||||
以下のような適当な場所(ApacheよりWebサーバーとして動作させる場所)に展開してください!
|
||||
`/user/home/web/`
|
||||
#### 権限設定
|
||||
以下のようにコマンドラインを開き、uwuzuを展開したフォルダ内のすべてのファイルに権限を与えてください!
|
||||
```
|
||||
sudo chmod -R 755 /user/home/web/.
|
||||
```
|
||||
#### phpの設定
|
||||
以下のコマンドでphpの設定(php.ini)を開き、開いたら「↓」キーでひたすら下に移動して`;extension=なんとかかんとか`が何十行かあるところまで移動して、そしたらその中から以下のものの`;`を消してください。
|
||||
要するにプラグインの有効化です!
|
||||
```
|
||||
sudo nano /etc/php/{phpバージョン}/cli/php.ini
|
||||
## 概要
|
||||
/api以下では200以外のHTTPステータスコードも使用する。
|
||||
|
||||
extension=fileinfo
|
||||
extension=gd
|
||||
extension=pdo_mysql
|
||||
extension=mysqli
|
||||
extension=mbstring
|
||||
extension=zip
|
||||
```
|
||||
変更か書き込めたら保存して閉じてください。
|
||||
#### MySQLの設定
|
||||
まず、MySQLにログインします。
|
||||
```
|
||||
sudo mysql -u root
|
||||
```
|
||||
このタイミングでrootアカウントにもパスワードを設定できると望ましいです!
|
||||
それでは次にuwuzuを操作するアカウントを作成します。
|
||||
`id`と`password`はuwuzuからMySQLを操作するアカウントに必要なので、これも覚えられるものを設定してください!
|
||||
```
|
||||
create user 'id'@'localhost' identified by 'password';
|
||||
```
|
||||
アカウントが作れたら、権限を与えてください!
|
||||
```
|
||||
grant all on *.* to 'id'@'localhost';
|
||||
flush privileges;
|
||||
```
|
||||
終わったら次にデータベースを作成します!
|
||||
データベース名は覚えられるものであれば何でも大丈夫です!
|
||||
```
|
||||
CREATE DATABASE uwuzu_db;
|
||||
```
|
||||
これらの設定が完了したら
|
||||
```
|
||||
exit
|
||||
```
|
||||
でMySQLを閉じてください。
|
||||
続いては、MySQLの設定ファイルより、モードの設定を行います。
|
||||
```
|
||||
sudo nano /etc/mysql/my.cnf
|
||||
```
|
||||
このコマンドを実行し、SQLモードから"STRICT_TRANS_TABLES"を削除してください
|
||||
```
|
||||
[mysqld]
|
||||
sql_mode = NO_ENGINE_SUBSTITUTION
|
||||
```
|
||||
変更できたら保存して閉じてください。
|
||||
### 目的
|
||||
- 初見でもHTTPステータスコードで直感的にエラー内容がわかる
|
||||
|
||||
#### Apache2の設定
|
||||
まず、Apache2の設定ファイルを開きます。
|
||||
```
|
||||
sudo nano /etc/apache2/apache2.conf
|
||||
```
|
||||
開けたら、以下のような項目があるので、uwuzuを展開したフォルダにパスを変更してください。
|
||||
```
|
||||
<Directory "/user/home/web/">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride ALL
|
||||
Require all granted
|
||||
</Directory>
|
||||
```
|
||||
一度保存して閉じ、もう一つパスを設定しているファイルを開いて、以下の設定を書き換えてください!
|
||||
```
|
||||
sudo nano /etc/apache2/sites-available/000-default.conf
|
||||
```
|
||||
```
|
||||
ServerAdmin webmaster@localhost
|
||||
DocumentRoot /user/home/web/
|
||||
```
|
||||
最後に.htaccessを機能させるための設定です!
|
||||
```
|
||||
sudo a2enmod rewrite
|
||||
sudo a2enmod headers
|
||||
```
|
||||
これらのコマンドを実行してください!
|
||||
### イメージ
|
||||
1. /api/me/?token=nasiにアクセスします
|
||||
2. HTTP403が返ってきます
|
||||
|
||||
#### 最後の再起動
|
||||
すべての手順が完了したら、Apache2とMySQLを再起動します!
|
||||
### 誰が実装する?
|
||||
- 私に任せてください。
|
||||
|
||||
### コードはどのように送る?(上記で「私に任せてください。」を選んだ方)
|
||||
このリポジトリ
|
||||
|
||||
---
|
||||
```
|
||||
sudo systemctl restart apache2
|
||||
sudo systemctl restart mysql
|
||||
|
||||
```
|
||||
#### 初期設定
|
||||
ブラウザを立ち上げ、[localhost/admin](http://localhost/admin)を開いて早速初期設定を開始しましょう!
|
||||
初期設定後、各種サーバー設定は左側メニューの"サーバー設定"より行えます。
|
||||
|
||||
もしインストールでつまづいたら... → [Discordコミュニティ](https://discordapp.com/invite/mNdGApnBFk)か[Document](https://docs.uwuzu.xyz)を確認してください!
|
||||
---
|
||||
title: APIの認証方法をBearerにする
|
||||
labels: feature
|
||||
---
|
||||
|
||||
## 概要
|
||||
APIの認証方法をAuthorizationヘッダーのBearer Authに変更する
|
||||
従来の方法も残す
|
||||
|
||||
### 目的
|
||||
OpenAPIに対応させるため
|
||||
|
||||
### イメージ
|
||||
1. Authorizationヘッダー、tokenクエリパラメータ、token(body)全てで認証できるようにする
|
||||
|
||||
### 誰が実装する?
|
||||
- 私に任せてください。
|
||||
|
||||
### コードはどのように送る?(上記で「私に任せてください。」を選んだ方)
|
||||
このリポジトリ
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
```
|
||||
---
|
||||
title: APIで404や503をJSONで返す
|
||||
labels: feature
|
||||
---
|
||||
|
||||
## 概要
|
||||
APIでは404や503などがHTMLで返りJSONを想定したコードではエラーが発生します。
|
||||
専用のJSONで返すことで対策ができます。
|
||||
|
||||
### 目的
|
||||
- JSONに統一させるため
|
||||
|
||||
### イメージ
|
||||
1. /api/noneにアクセスします
|
||||
2. /errorpage/notfound.jsonが表示されます
|
||||
|
||||
### 誰が実装する?
|
||||
- 私に任せてください。
|
||||
|
||||
### コードはどのように送る?(上記で「私に任せてください。」を選んだ方)
|
||||
このリポジトリ
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
```
|
||||
---
|
||||
title: /api/token/inquiryを作成する
|
||||
labels: feature
|
||||
---
|
||||
|
||||
## 概要
|
||||
/api/token/inquiryでAPIトークンから権限やユーザーIDを照会できます。
|
||||
|
||||
### 目的
|
||||
パラメータから権限を変更しユーザー認可を承認する悪質な方法が取られる可能性を下げるため
|
||||
|
||||
### イメージ
|
||||
1. /api/token/inquiry?token=TESTTOKENにアクセスします
|
||||
2. 権限を配列で確認できます
|
||||
|
||||
### 誰が実装する?
|
||||
- 私に任せてください。
|
||||
|
||||
### コードはどのように送る?(上記で「私に任せてください。」を選んだ方)
|
||||
このリポジトリ
|
||||
|
||||
---
|
||||
```
|
||||
|
||||
```
|
||||
authcode/license.txtの誤字を修正
|
||||
```
|
||||
Loading…
Reference in New Issue