Это продолжение статьи о настройке одноплатного компьютера. Предыдущую часть вы можете прочитать по ссылке.
Все описанное здесь можно точно так же реализовать и на обычном сервере.
Основной целью было создать доступ к собственному хранилищу из любой точки мира. Для этого обычно требуется выделенный или белый IP-адрес, которого у меня нет. В этом случае на помощь приходит VPN (виртуальная частная сеть), с помощью которой можно получить доступ к хранилищу из любой сети и с любого устройства. В следующей статье я расскажу, как настроить VPN для этой задачи.
Первоначально я планировал использовать Nextcloud, но столкнулся с ошибками в последней версии платформы. К тому же мне нужно было работать с файлами в реальном времени, что лучше всего поддерживается через протокол SMB. Nextcloud, в свою очередь, больше ориентирован на облачное хранилище с удобным интерфейсом, и ограничивает работу с файлами в обход него.
В итоге я решил заменить Nextcloud на комбинацию WebDAV и SMB серверов. Для WebDAV был выбран веб-сервер Apache2, хотя изначально я предпочитал Nginx. Однако, у Nginx есть ограничения при работе с WebDAV, поскольку WebDAV является дополнительным модулем, который еще не совершенен. В Apache2 поддержка WebDAV встроена и работает более стабильно.
Установка WebDAV сервера
1. Установка Apache2:
sudo apt update
sudo apt install apache2 apache2-utils
sudo a2enmod dav
sudo a2enmod dav_fs
sudo a2enmod ssl
2. Создание директории и назначение прав:
sudo mkdir -p /DIR
sudo chown -R www-data:www-data /DIR
sudo chmod -R 755 /DIR
3. Создание конфигурации виртуального хоста (замените `/DIR` и `IP`):
sudo nano /etc/apache2/sites-available/webdav.conf
Вставьте следующее:
<VirtualHost 192.168.1.59:80>
ServerAdmin admin@example.com
DocumentRoot /DIR
<Directory /DIR>
Options Indexes FollowSymLinks
AllowOverride None
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
Alias /webdav /DIR
<Location /webdav>
DAV On
AuthType Basic
AuthName "WebDAV Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
4. Создание пользователя:
sudo htpasswd -c /etc/apache2/.htpasswd yourusername
5. Применение настроек и перезапуск Apache2:
sudo a2ensite webdav.conf
sudo systemctl reload apache2
6. Проверка работы сервера:
Откройте в браузере: `http://IP/webdav`
Установка Samba (SMB) сервера
1. Установка Samba:
sudo apt install samba
2. Создание пользователя:
sudo useradd yourusername
sudo passwd yourusername
sudo smbpasswd -a yourusername
sudo groupadd sambashare
sudo usermod -aG sambashare yourusername
3. Назначение прав на директорию:
sudo chown -R :sambashare /DIR
sudo chmod -R 0775 /DIR
4. Настройка SMB (добавьте в конец файла):
sudo nano /etc/samba/smb.conf
Вставьте следующее:
[data]
comment = Shared Folder for WebDAV and SMB
path = /DIR
browseable = yes
writable = yes
valid users = yourusername
force group = sambashare
create mask = 0664
directory mask = 0775
read only = no
5. Открытие портов в фаерволе:
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
6. Перезапуск SMB:
sudo systemctl restart smbd
7. Подключение на Windows:
Введите в адресной строке проводника:
\\IP\data
8. Решение проблемы в Windows 11 24h2:
Если возникли проблемы с подключением, выполните следующие команды:
Set-SmbClientConfiguration -RequireSecuritySignature $false
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true
Эти шаги помогут вам настроить WebDAV и SMB серверы для доступа к вашему хранилищу с любого устройства в любой точке мира. В следующей статье я расскажу, как настроить VPN для удаленного доступа к вашему серверу.
―――――――――――――――――――――――――――――――――――――
Читайте также на:
- Telegram - больше лайф контента
―――――――――――――――――――――――――――――――――――――
Ставьте лайки и если у вас остались вопросы, пишите их в комментариях!