Сделан гайд
This commit is contained in:
		
							parent
							
								
									2def936e01
								
							
						
					
					
						commit
						df9d01632f
					
				
					 1 changed files with 198 additions and 2 deletions
				
			
		
							
								
								
									
										200
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										200
									
								
								README.md
									
										
									
									
									
								
							|  | @ -1,3 +1,199 @@ | |||
| # MisskeyInstall | ||||
| # Установка своего инстанса Misskey | ||||
| 
 | ||||
| Полный процесс установки misskey на русском языке | ||||
| ## 0.1 У вас УЖЕ должен быть куплен [домен](https://ubuntu.com) и хост-сервер | ||||
| 
 | ||||
| ## 1.1 Требования к аппаратному обеспечению | ||||
| Точных рекомендаций в документации нет, однако судя по опыту пользования и администрирования инстанса [shitpost.poridge.club](https://shitpost.poridge.club) на 5 активных пользователя желательно >=2гб ОЗУ и 1 ядра процессора.  | ||||
| 
 | ||||
| ## 1.2 Требуемое программное обеспечение | ||||
| 
 | ||||
| 1. Я рекомендую [Ubuntu](https://ubuntu.com) из-за огромного кол-ва встроенных библиотек, но можно и [Debian](https://www.debian.org/) | ||||
| 2. [NodeJS](https://nodejs.org/en/) (12.x, 14.x) | ||||
| 3. [PostgreSQL](https://www.postgresql.org/) (>=10.0) | ||||
| 4. [Redis](https://redis.io/) | ||||
| 5. [Yarn](https://classic.yarnpkg.com/en/)  | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| ## 2. Установка Misskey | ||||
| 
 | ||||
| Для начала необходимо создать пользователя для Misskey (ради безопасности) | ||||
| ``` | ||||
| # adduser --disabled-password --disabled-login misskey | ||||
| ``` | ||||
| Далее мы всё так же продолжаем действовать под root'ом. | ||||
| Нам необходимо установить всё нужное для работы инстанса программное обеспечение: | ||||
| ``` | ||||
| // Redis, PostgreSQL, sudo и остальное программное обеспечение | ||||
| # apt install redis postgresql sudo git nginx | ||||
| 
 | ||||
| // NodeJS | ||||
| # curl -sL https://deb.nodesource.com/setup_12.x | bash - | ||||
| # apt-get install -y nodejs | ||||
| 
 | ||||
| // Yarn | ||||
| # curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - | ||||
| # echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | ||||
| # apt update && apt install yarn | ||||
| ``` | ||||
| 
 | ||||
| Тут будет расхождение от официальной документации. В документации Misskey устанавливается в директорию /home/misskey/misskey, в данном же руководстве Misskey устанавливается в /opt/misskey, так что создаём директорию /opt/misskey и меняем у неё владельца на пользователя misskey: | ||||
| ``` | ||||
| // Создаём директорию | ||||
| # mkdir -pv /opt/misskey | ||||
| 
 | ||||
| // Меняем владельца | ||||
| # chown misskey:misskey -R /opt/misskey | ||||
| ``` | ||||
| 
 | ||||
| Создаём базу данных под Misskey: | ||||
| ``` | ||||
| # sudo -Hu postgres psql | ||||
| 
 | ||||
| // Создаём базу данных | ||||
| psql=# CREATE DATABASE misskey; | ||||
| 
 | ||||
| // Создаём пользователя misskey с паролем | ||||
| psql=# CREATE USER misskey WITH ENCRYPTED PASSWORD 'ВАШ_ПАРОЛЬ'; | ||||
| 
 | ||||
| // Выдаем ему все разрешения на использование базы данных Misskey | ||||
| psql=# GRANT ALL PRIVILIGES ON DATABASE misskey TO misskey; | ||||
| psql=#\q | ||||
| ``` | ||||
| 
 | ||||
| После заходим под пользователя misskey и скачиваем исходный код Misskey: | ||||
| ``` | ||||
| // Заходим под пользователем Misskey | ||||
| # su - misskey | ||||
| 
 | ||||
| // Скачиваем Misskey | ||||
| misskey@domain$ cd /opt | ||||
| misskey@domain$ git clone -b master git://github.com/syuilo/misskey.git | ||||
| 
 | ||||
| // Устанавливаем зависимости | ||||
| misskey@domain$ cd misskey | ||||
| misskey@domain$ yarn | ||||
| ``` | ||||
| 
 | ||||
| Копируем файл .config/example .config/default.yml (Подразумевается что вы всё ещё в директории /opt/misskey) и редактируем его: | ||||
| ``` | ||||
| misskey@domain$ cp .config/example.yml .config/default.yml | ||||
| misskey@domain$ nano .config/default.yml | ||||
| ``` | ||||
| В данном конфигурационном файле нас интересуют следующие параметры: | ||||
| ``` | ||||
| url: поменять example.tld на своё доменное имя | ||||
| 
 | ||||
| port: в данной руководстве Misskey работает через Reverse Proxy, так что порт ставим 3000 | ||||
| 
 | ||||
| db: | ||||
|   user: пишем пользователя базы данных (в данном руководстве misskey) | ||||
|   pass: пишем пароль пользователя базы данных (в данном руководстве ВАШ_ПАРОЛЬ) | ||||
| ``` | ||||
| Собираем Misskey: | ||||
| ``` | ||||
| misskey@domain$ NODE_ENV=production yarn build | ||||
| 
 | ||||
| ``` | ||||
| Обычно там много ошибок появляется, но этого не стоит боятся, это норма. | ||||
| ``` | ||||
| misskey@domain$ yarn run init | ||||
| ``` | ||||
| 
 | ||||
| Запускаем Misskey: | ||||
| ``` | ||||
| misskey@domain$ NODE_ENV=production npm start | ||||
| ``` | ||||
| Если всё хорошо, Misskey выдаст строку о том, что он прослушивает 3000 порт: | ||||
| ``` | ||||
| Now listening on port 3000 on https://ВАШ_ДОМЕН/ | ||||
| ``` | ||||
| Выключаем Misskey сочетанием клавиш CTRL+X и создаем Systemd сервис для того, что бы Misskey автоматически запускался при каждом включении хост-машины: | ||||
| ``` | ||||
| // Создаем и открываем для редактирования файл /etc/systemd/system/misskey.service | ||||
| # nano /etc/systemd/system/misskey.service | ||||
| ``` | ||||
| Вставляем в файл /etc/systemd/system/misskey.service следующий код: | ||||
| ``` | ||||
| [Unit] | ||||
| Description=Misskey daemon | ||||
| 
 | ||||
| [Service] | ||||
| Type=simple | ||||
| User=misskey | ||||
| ExecStart=/usr/bin/npm start | ||||
| WorkingDirectory=/opt/misskey | ||||
| Environment="NODE_ENV=production" | ||||
| TimeoutSec=60 | ||||
| StandardOutput=syslog | ||||
| StandardError=syslog | ||||
| SyslogIdentifier=misskey | ||||
| Restart=always | ||||
| 
 | ||||
| [Install] | ||||
| WantedBy=multi-user.target | ||||
| 
 | ||||
| ``` | ||||
| Включаем инстанс Misskey в Systemd: | ||||
| ``` | ||||
| // Перечитываем все сервисы Systemd что бы он увидел только что созданный юнит | ||||
| # systemctl daemon-reload | ||||
| 
 | ||||
| // Включаем Misskey и добавляем в автозагрузку, а при помощи --now тут же запускаем. | ||||
| # systemctl enable --now misskey | ||||
| 
 | ||||
| // Проверяем работу Misskey | ||||
| # systemctl status misskey | ||||
| ``` | ||||
| 
 | ||||
| Заключительный этап - настройка Revers Proxy. Открываем файл /etc/nginx/sites-enabled/default: | ||||
| ``` | ||||
| # nano /etc/nginx/sites-enabled/default | ||||
| ``` | ||||
| И вставляем следующий код: | ||||
| ``` | ||||
| server { | ||||
|     listen 80; | ||||
|     listen [::]:80 | ||||
|     server_name ВАШ_ДОМЕН; | ||||
| 
 | ||||
|     # Перенаправление с http на https | ||||
|     location / { | ||||
|         return 301 https://$server_name$request_uri; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| server { | ||||
|     listen 443 ssl; | ||||
|     listen [::]:443 ssl; | ||||
| 
 | ||||
|     # Подключение сертификатов Let's Encrypt | ||||
|     ssl_trusted_certificate   /etc/letsencrypt/live/ВАШ_ДОМЕН/chain.pem; | ||||
|     ssl_certificate           /etc/letsencrypt/live/ВАШ_ДОМЕН/fullchain.pem; | ||||
|     ssl_certificate_key       /etc/letsencrypt/live/ВАШ_ДОМЕН/privkey.pem; | ||||
| 
 | ||||
|     # Подключение сжатия | ||||
|     gzip_vary on; | ||||
|     gzip_proxied any; | ||||
|     gzip_comp_level 6; | ||||
|     gzip_buffers 16 8k; | ||||
|     gzip_http_version 1.1; | ||||
|     gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/activity+json application/atom+xml; | ||||
| 
 | ||||
|     # Размер загружаемых файлов | ||||
|     client_max_body_size 16m; | ||||
| 
 | ||||
|     location / { | ||||
|         proxy_pass http://127.0.0.1:3000; | ||||
|         proxy_set_header Host $host; | ||||
|         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| Перезагрузим nginx (на всякий случай) | ||||
| 
 | ||||
| ``` | ||||
| sysstemctl restart nginx | ||||
| ``` | ||||
| 
 | ||||
| Всё, заходим в браузере на свой инстанс и создаём административную учётную запись | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue