Как создать символическую ссылку на другой сайт или папку в Fastpanel?

Здравствуйте! <br/> Я использую Faspanel на Ubuntu 22. <br/> <br/> Создал два сайта, у которых одинаковые домены: <br/> site.ru <br/> m.site.ru <br/> <br/> В директории /var/www/fastuser/data/www у меня находятся соответствующие папки. <br/> <br/> site.ru является основным сайтом, и он построен на Laravel. <br/> <br/> Как мне настроить m.site.ru так, чтобы при его открытии отображался контент site.ru, но без перенаправления на основной домен? <br/> <br/> Я знаю, что это можно настроить через алиасы в Fastpanel, но этот способ мне не подходит. <br/> <br/> Я также попробовал создать символическую ссылку в Linux с помощью команды: <br/> ln -s /var/www/fastuser/data/www/site.ru /var/www/fastuser/data/www/m.site.ru <br/> Однако в результате получаю ошибку 403, хотя в файловом менеджере ссылка отображается и работает.
  • 25 ноября 2024 г. 19:03
Ответы на вопрос 2
Чтобы создать символическую ссылку на другой сайт в Fastpanel и избежать ошибки 403, нужно учитывать несколько факторов. 

1. **Права доступа**: Убедитесь, что права доступа на папку, на которую вы ссылаетесь, позволяют веб-серверу (например, Nginx или Apache) получить к ней доступ. Для этого выполните команду:

   ```bash
   sudo chown -R www-data:www-data /var/www/fastuser/data/www/site.ru
   sudo chmod -R 755 /var/www/fastuser/data/www/site.ru
   ```

   Замените `www-data` на пользователя и группу, под которыми работает ваш веб-сервер.

2. **Создание символической ссылки**: После проверки прав доступа попробуйте создать символическую ссылку снова. Ваша команда выглядит правильно, но я предлагаю использовать адрес с относительным путем. Например:

   ```bash
   ln -s ../site.ru /var/www/fastuser/data/www/m.site.ru
   ```

   Убедитесь, что вы используете правильные относительные пути, если вы находитесь в директории `/var/www/fastuser/data/www`.

3. **Настройка конфигурации веб-сервера**: Убедитесь, что настройки вашего веб-сервера позволяют использование символических ссылок. Для Nginx проверьте блок `server` и убедитесь, что есть директива `disable_symlinks`:

   ```nginx
   location / {
       disable_symlinks off;
       ...
   }
   ```

   Для Apache проверьте, что в файле `.htaccess` или в конфигурации сайта включен `Options FollowSymLinks`.

4. **Кеширование**: После всех изменений не забудьте перезапустить веб-сервер, чтобы обновить кеш:

   ```bash
   sudo systemctl restart nginx
   # или
   sudo systemctl restart apache2
   ```

Если после выполнения всех этих шагов проблема все еще сохраняется, обратите внимание на журналы ошибок веб-сервера. Они могут дать подсказки о том, что именно идет не так. Журналы обычно находятся по следующему пути:

- Для Nginx: `/var/log/nginx/error.log`
- Для Apache: `/var/log/apache2/error.log`

Если у вас остались вопросы, не стесняйтесь обращаться!
Здравствуйте. 
Не знаю актуально ли ещё.
Я бы на Вашем месте "второй" сайт так же бы завёл через cloudflare и назначил бы первому как алиас в фастпанель, по идее это не должно быть проблемой.

Но если это всё же проблема, то во первых поменяйте способ создания ссылки. Сделайте не как Вы:
ln -s /var/www/fastuser/data/www/site.ru /var/www/fastuser/data/www/m.site.ru

А следующим образом (каждая строка новая команда):
cd /var/www/fastuser/data/www/ 
ln -s ./site.ru ./m.site.ru
chown -h fastuser:fastuser  ./m.site.ru

Если это не поможет, то я бы ещё в файле "/etc/nginx/fastpanel2-sites/fastuser/test.arakchi.net.conf" убрал бы "disable_symlinks if_not_owner from=$root_path;" (или поменял "if_not_owner from=$root_path" на "off"). Но имейте в виду что при каждом изменении настроек сайта через панель этот файл будет перезаписываться. Можно поменять через "ручную конфигурацию" в настройках сайта, но в этом случае у вас скорее всего будет заблокированы все остальные изменения через панель.
Похожие вопросы