LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.26k stars 881 forks source link

домен как добавляется ? #2006

Closed ProjectMakerGeorgia closed 2 years ago

ProjectMakerGeorgia commented 2 years ago

где нибудь есть инструкция насчет добавления домена ?

asonix commented 2 years ago

You'll need to purchase a domain from a domain registrar, and then add an A Record in the domain registrar with the IP Address of the network that you're hosting lemmy on. This is the same process for any hosted server software.

If you're hosting lemmy on your own network, you'll need to forward a port in your router so external traffic can access your internal lemmy host. If you're hosting lemmy on a VPS, then your VPS will have documentation about how to find the right IP address for adding the A Record.

Importantly, none of this configuration is specific to lemmy. You would need to follow these same steps if you wanted to host any other web application.

ProjectMakerGeorgia commented 2 years ago

я не понимаю вас . как добавить домен скажите как добавить вы ничего сказали нащот добавления домена . каком файле, где написать домена далее что сделать после сохранения этого файла . да домен направлено правильным оброзом на IP

ProjectMakerGeorgia commented 2 years ago

пользуюсь VPS сервером .

asonix commented 2 years ago

there's a hostname field in the lemmy.hjson file that tells lemmy which domain it exists at, is that what you're looking for?

ProjectMakerGeorgia commented 2 years ago

да да нашот таво что в docker-compose тоже надо писать домен сайта что об этом скажите?

ProjectMakerGeorgia commented 2 years ago

the domain name of your instance (eg "lemmy.ml")

hostname: "mydomen.ru"

address where lemmy should listen for incoming requests

bind: "47.80.40.10"

port where lemmy should listen for incoming requests

port: 8536

settings related to the postgresql database

address where pictrs is available

pictrs_url: "http://pictrs:8080" database: {

name of the postgres database for lemmy

database: "lemmy"
# username to connect to postgres
user: "lemmy"
# password to connect to postgres
password: "password"
# host where postgres is running
host: "postgres"
# port where postgres can be accessed
port: 5432
# maximum number of active sql connections
pool_size: 5

настроить так и всё будет работать ? если имя домена : mydomen.ru IP где направлено А запись домена : 47.80.40.10

ничего не изменит в docker-compose.yml файле ?

ProjectMakerGeorgia commented 2 years ago

lemmy: image: dessalines/lemmy:0.14.3 ports:

это код из docker-compose.yml здесь что нибудь изменить ?

asonix commented 2 years ago

Nothing from the docker-compose.yml file needs to change, that should all work. I think for bind you should use 0.0.0.0 since that will listen for all incoming connections rather than listening on the public IP.

Further, it seem you'll need to set up nginx in front of the docker services, and get a TLS certificate for your domain. The official documentation has information about this: https://join-lemmy.org/docs/en/administration/install_docker.html

ProjectMakerGeorgia commented 2 years ago

я буду дать вам пароля маего VPS сервера можете мне установить там lemmy я уже 10 день пытаюсь и не смог

asonix commented 2 years ago

I think it is important that you learn to install and manage lemmy yourself if you want to host it. Knowing how your system works will help you when issues happen in the future.

ProjectMakerGeorgia commented 2 years ago

я хачу сначало установить чтобы патом пасмотреть эта есть то что мне нужно или нет . хачу тестоировать сделать там несколько чтота , если эта будет то что мне нужно я научусь

ProjectMakerGeorgia commented 2 years ago

дайте мне вашего эл-почта я отправлю вам манго ип пароль и имя пользователя . я уже 10 день пытаюсь установить и ничего не вышол

ProjectMakerGeorgia commented 2 years ago

просто не нашел нормальную инструкцию. что где как сделать . пожалуйста паможеш ?

grishka commented 2 years ago

Что именно вы понимаете под тем чтобы "добавить домен"? Куда его добавить? DNS-записи настроить? Веб-сервер? Можете понятнее сформулировать свой вопрос?

ProjectMakerGeorgia commented 2 years ago

Что именно вы понимаете под тем чтобы "добавить домен"? Куда его добавить? DNS-записи настроить? Веб-сервер? Можете понятнее сформулировать свой вопрос? DNS-записи настроил там где купил домен . Веб-сервер не знаю как его настроит . я устанавливаю lemmy с помощью docker и после этих команд mkdir -p volumes/pictrs sudo chown -R 991:991 volumes/pictrs

не знаю что сделать . харашо я буду открыт docker-compose.yml и там буду написать мой домен этом строке - LEMMY_EXTERNAL_HOST=your-domain.ru и патом набиру команду docker-compose up -d

после этого на домене ничего не открывается , но каманда curl localhost :1235 показывает что на локале работает он даёт мне html кода .

после этого в инструкциях написано что нужно установить nginx из официального страницы устанавливаю на главном директорие и набираю команды по инструкции домен начинает работать но там написано только то что я установил там nginx и на curl localhost :1235 этом команде уже ни html lemmy а html nginx страницы ...

если скажем каротка я хочу установить lemmy на домене но не знаю как . дайте мне пожалусто инструкцию как всё этого сделать

grishka commented 2 years ago

Нужно настроить nginx чтобы он работал как обратный прокси. Пример конфигурации: https://github.com/LemmyNet/lemmy-ansible/blob/main/templates/nginx.conf

В документации об этом написано.

Более простой пример конфигурации:

server{
    server_name your_domain.com; # <- нужно прописать здесь свой домен
    client_max_body_size 40M;
    location / {
        proxy_pass http://127.0.0.1:1235;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}
ProjectMakerGeorgia commented 2 years ago

Нужно настроить nginx чтобы он работал как обратный прокси. Пример конфигурации: https://github.com/LemmyNet/lemmy-ansible/blob/main/templates/nginx.conf

В документации об этом написано.

Более простой пример конфигурации:

server{
    server_name your_domain.com; # <- нужно прописать здесь свой домен
    client_max_body_size 40M;
    location / {
        proxy_pass http://127.0.0.1:1235;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

остальное я всё правильно сделаю ? я попытаюсь сейчас снова

grishka commented 2 years ago

Если curl localhost:1235 показывает html-код, да, сам lemmy настроен правильно

ProjectMakerGeorgia commented 2 years ago

Если curl localhost:1235 показывает html-код, да, сам lemmy настроен правильно

но после установки nginx этот код пропадает

grishka commented 2 years ago

Хорошо. Если установить nginx и зайти на домен с браузера, что покажет браузер? Там будет страница "welcome to nginx"?

ProjectMakerGeorgia commented 2 years ago

Хорошо. Если установить nginx и зайти на домен с браузера, что покажет браузер? Там будет страница "welcome to nginx"?

да

grishka commented 2 years ago

Значит надо настроить как я написал. Инструкций о том, как это сделать, полно, например https://routerus.com/nginx-reverse-proxy/

ProjectMakerGeorgia commented 2 years ago

proxy_pass http://127.0.0.1:1235; и этого 127.0.0.1 менять на мои IP ? после настроит надо нибудь команды чтобы проект снова пересобрать ?

grishka commented 2 years ago

Нет и нет

ProjectMakerGeorgia commented 2 years ago

server{ server_name your_domain.com; # <- нужно прописать здесь свой домен client_max_body_size 40M; location / { proxy_pass http://127.0.0.1:1235; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }

всё равно не работает снова этот надпись :

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com.

Thank you for using nginx.

grishka commented 2 years ago

По какому пути этот конфиг находится или в какой файл вы его дописали?

ProjectMakerGeorgia commented 2 years ago

server{ server_name your_domain.com; # <- нужно прописать здесь свой домен client_max_body_size 40M; location / { proxy_pass http://127.0.0.1:1235; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }

lemmy/nginx.conf - здесь написал что вы сказали . больше ничего не сделано .

grishka commented 2 years ago

Ну написали, а nginx перезапустили?..

ProjectMakerGeorgia commented 2 years ago

да конечно

ProjectMakerGeorgia commented 2 years ago

Ну написали, а nginx перезапустили?..

до этого файла не надо писать путь в docker-compose .yml файле ?

grishka commented 2 years ago

Так, стоп. nginx.conf в папке самого lemmy что ли?

asonix commented 2 years ago

The documentation says the nginx configuration should be located here: /etc/nginx/sites-enabled/lemmy.conf. It may be in a different location depending on your operating system.

ProjectMakerGeorgia commented 2 years ago

Так, стоп. nginx.conf в папке самого lemmy что ли?

да

grishka commented 2 years ago

Нет, это надо написать в, например, /etc/nginx/sites-available/lemmy.conf, потом сделать симлинк командой ln -s /etc/nginx/sites-available/lemmy.conf /etc/nginx/sites-enabled/lemmy.conf, потом перезапустить nginx

ProjectMakerGeorgia commented 2 years ago

Нет, это надо написать в, например, /etc/nginx/sites-available/lemmy.conf, потом сделать симлинк командой ln -s /etc/nginx/sites-available/lemmy.conf /etc/nginx/sites-enabled/lemmy.conf, потом перезапустить nginx

я перенёс его с помощью этого команду как в инструкциях написано sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf . но не изменилось и после этого снова перезагрузил nginx

grishka commented 2 years ago

Домен прописали во второй строке?

ProjectMakerGeorgia commented 2 years ago

Домен прописали во второй строке? да конечно

asonix commented 2 years ago

After you moved the file, how are you testing it? Are you running curl 'localhost:80' or curl localhost:443? What happens if you try curl -H 'Host: your_domain.com' localhost:80

grishka commented 2 years ago

¯\_(ツ)_/¯

grishka commented 2 years ago

@asonix I told him to test it with a browser and apparently his nginx doesn't pick up the Host header for some reason? That's the only reason I could think of why it would serve that placeholder page.

ProjectMakerGeorgia commented 2 years ago

¯_(ツ)_/¯

/etc/nginx/sites-available это место сейчас посмотрел с помощью ls и там default и больше ничего

grishka commented 2 years ago

а в /etc/nginx/sites-enabled?

ProjectMakerGeorgia commented 2 years ago

conf.d
fastcgi_params
koi-win
modules-available
nginx.conf
scgi_params
sites-enabled
uwsgi_params fastcgi.conf
koi-utf
mime.types
modules-enabled
proxy_params
sites-available
snippets
win-utf

/etc/nginx - здесь всё эта

ProjectMakerGeorgia commented 2 years ago

rootServer@topix:/etc/nginx/sites-available$ ls

ответ : default

ProjectMakerGeorgia commented 2 years ago

урааа заработал

asonix commented 2 years ago

Screenshot from 2021-12-20 13 44 30@2x :tada:

Next steps would be setting up https with something like Let's Encrypt Here's an article about it: https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/

ProjectMakerGeorgia commented 2 years ago

Screenshot from 2021-12-20 13 44 30@2x 🎉

Next steps would be setting up https with something like Let's Encrypt Here's an article about it: https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/

сейчас на сайте ничего не работает ни регистрация и ваше ничего. после установки SSL сайт будет нормально работат ?

asonix commented 2 years ago

it seems like things aren't working properly with the websocket endpoint. It is possible that SSL will fix this, although I am not certain.

Can you share some logs from lemmy? sudo docker-compose logs -f lemmy

Screenshot from 2021-12-20 14 29 26@2x

ProjectMakerGeorgia commented 2 years ago

it seems like things aren't working properly with the websocket endpoint. It is possible that SSL will fix this, although I am not certain.

Can you share some logs from lemmy? sudo docker-compose logs -f lemmy

Screenshot from 2021-12-20 14 29 26@2x

/etc/nginx/sites-enabled/lemmy.conf - что добавить этом файле ?

использовал эти 3 команды - $ apt-get update $ sudo apt-get install certbot $ apt-get install python3-certbot-nginx

где можно добавить это ? server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name topix.ge ; }

так выглядит сейчас этот файл - /etc/nginx/sites-enabled/lemmy.conf

server{ server_name topix.ge; client_max_body_size 40M; location / { proxy_pass http://127.0.0.1:1235; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }

grishka commented 2 years ago

Говорят, гуглить такие вопросы иногда помогает. Но это не точно. https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04-ru