Apache файловый сервер linux

Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 1/6)

Настройка доступа web-сервера Apache/Lighttpd/Nginx к файлам сетевой файловой системы (NFS)

Мы продолжаем переводить серию уроков о виртуализации и настройке LAMP сервера с сайта www.cyberciti.biz и переходим к первому практическому шагу — созданию сетевого хранилища файлов

Создание хранилищ общего сетевого доступа NFSv4.0 (Network File System) в ОС Linux и Unix не сильно отличается от создания иных общих сетевых ресурсов Apache/Lighttpd/Nginx. Для этого произведем следующие настройки нашего файлового сервера/VM vm05 с IP-адресом 192.168.1.14.

Linux NFS-сервер: синхронный или асинхронный режим работы

Вам нужно выбрать наиболее подходящий для вас режим работы NFS-сервера. В асинхронном режиме (async option) ответы на запросы к серверу происходят без ожидания окончания записи или изменений в файлах диска (если запись происходят в момент обращения). Производительность такого режима более высокая, но достигается она ценой целостности данных и грубая перезагрузка сервера (в случаи системного сбоя или иных причин) может привести к потере данных или их повреждению. В синхронный режиме работы (sync option) ответ на запрос к серверу происходят лишь по окончанию записи. Мы настоятельно рекомендую вам использовать именно этот – второй режим синхронизации с включенным NFS-кэшированием на локальных узлах Apache/Lighttpd/Nginx, т.е. серверах vm01 и vm02.

Как создать «расшаренный» сетевой ресурс

# yum groupinstall "NFS file server" 
# yum install nfs-utils nfs4-acl-tools portmap 
# chkconfig nfs on # chkconfig rpcbind on # chkconfig rpcidmapd on # chkconfig nfslock on 

Создание учетной записи пользователя NFS-сервера.

Для организации общего доступа к файлам NFS-сервера мы будем использовать учетные данные пользователя Apache. Те же самые учетные записи будут использоваться на серверах vm01, vm02, vm03 и vm05. Чтобы создать учетную запись пользователя на сервере NFSv4 мы воспользуемся командой useradd:

################################################################################## ### Отметим, что на серверах CentOS/RHEL, правами по умолчанию для apache ### ### являются UID/GID 48, настроим права apache на машинах vm01 и vm02 в ### ### соответствии с этим ### ################################################################################## # /usr/sbin/groupadd -g 48 apache # /usr/sbin/useradd -s /sbin/nologin -g 48 -u 48 -M -d /var/www apache # /usr/bin/passwd -l apache 

Не устанавливайте веб-сервера Apache2 на сервер NFSv4.

Читайте также:  Linux log file binary

/etc/idmapd.conf настройка nfs сервера

Демон имен служб NFSv4 ID (rpc.idmapd) обеспечивает работу ядра клиента и сервера NFSv4, связывая последних через запросы и преобразуя ID в имена, а имена в ID. Для настройки демона отредактируем файл /etc/idmapd.conf:

Следующие настройки будут прописаны для локального домена NFSv4. Имя DNS хоста по умолчанию следует заменить на доменное имя вашего хоста.

Так же убедитесь, что настройки маппинга прописаны следующим образом:

[Mapping] Nobody-User = nobody Nobody-Group = nobody 

Сохраните и закройте файл.

Общий доступ к файловой системе

Чтобы создать общий сетевой ресурс /var/www/static и /var/www/html, выполним следующие действия. Используйте команду mkdir, чтобы создать нужную директорию на сервере NFSv04:

# mount --bind /var/www/html /exports/html # mount --bind /var/www/static /exports/static 
/var/www/html /exports/html none bind /var/www/static /exports/static none bind 
################################# ### Экспорт для vm01 и vm02 ### ### by vivek Thu June 21,2012 ### ################################# ## Корневая папка nfs, fsid=0 означает NFSv4 ## /exports 192.168.1.10(rw,fsid=0,no_subtree_check,async) 192.168.1.11(rw,fsid=0,no_subtree_check,async) ### Конфигурация NFS для домена www.cyberciti.biz ### /exports/html 192.168.1.10(rw,no_subtree_check,async,nohide) 192.168.1.11(rw,no_subtree_check,async,nohide) # Статические файлы экспортируем в режиме «только-чтение» (ro). # # Если пользователь может загружать файлы, смените режим на «чтение-и-запись» (rw)# /exports/static 192.168.1.10(ro,no_subtree_check,async,nohide) 192.168.1.11(ro,no_subtree_check,async,nohide) 
# /sbin/service rpcbind start # /sbin/service rpcidmapd start # /sbin/service nfslock start # /sbin/service nfs start 

Обеспечение безопасности сервера NFSv04

Вы можете установить межсетевой экран (firewall) и настроить TCPWrapper по приведенному по ссылке сценарию. Или же настроить таблицу iptables, используя фиксированные порты на сервере NFS. Вы, также, можете использовать сетевое представление или маскированное (network/mask) машин (vm01, vm02) в вашей сети, подняв файловую систему NFS с этого сервера. Отредактируйте файл /etc/sysconfig/iptables, добавив следующие параметры. Убедитесь, что эти параметры прописаны до строк LOG и DROP:

## открыть порт nfsv4-серверва для локальных узлов и машин ## -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT 

«Расшаренные» ресурсы

Теперь вы можете загрузить статические файлы в /var/www/static и php/html файлы в /var/www/html директории сервера. Не ставьте Unix-сокеты на расшаренной файловой системе NFS. Если вы используете SELinux необходимо настроить стандартные права доступа и права владельца файлов с учетом требований безопасности SELinux, но для проверки работы системы можно (временно) отключить SELinux. Подробнее смотри в материалах cyberciti.biz:

  1. Временное отключение SELinux [eng]
  2. Отключение SELinux для Apache/httpd в Linux (не рекомендуется) [eng]
Читайте также:  Linux find exclude files from

Последнее замечание об NFS

  • В приведенном примере конфигурации NFS является «точкой отказа» для внутреннего RAID массива дисков. Однако разрешить эту задачу вы можете установкой устройств SAN или NAS хранения. Высокая избыточность хранения увеличить стоимость проекта.
  • Кроме того, убедитесь в том, что каждая настроенная нами виртуальная машина выступает либо клиентом, либо сервером, а не тем и другим одновременно.
  • Дабы избежать проблем с обслуживанием и безопасностью, NFS должна быть развернута в простейшей конфигурации.

Источник

Как настроить файловый сервер на основе HTTP в CentOS 8

Favorite

Добавить в избранное

Главное меню » CentOS » Как настроить файловый сервер на основе HTTP в CentOS 8

Как настроить файловый сервер на основе HTTP в CentOS 8

М ы можем настроить файловый сервер на основе HTTP apache в Linux с помощью python. Давайте посмотрим, как настроить файловый сервер на основе HTTP на CentOS 8.

Как настроить файловый сервер на основе HTTP в CentOS 8

Мы можем настроить базовый файловый сервер httpd на CentOS 8/7. вам просто нужно установить python в Linux. Используйте команду для установки разных версий, таких как python36, python, python2 и т. д.

sudo yum install python38 -y

После установки python проверьте версию python с помощью команды python3 –version.

[root@andreyex ~]# python3 --version Python 3.8.0

Мы создадим несколько примеров файлов и сохраним их в каталоге. Используйте следующие команды.

[root@andreyex ~]# mkdir httpfile [root@andreyex ~]# touch file [root@andreyex ~]# mv file* httpfile/ [root@andreyex ~]# ls httpfile/ file1 file2 file3 file4

Откройте порт 8000 в правилах межсетевого экрана.

[root@andreyex ~]# firewall-cmd --permanent --add-port=8000/tcp [root@andreyex ~]# firewall-cmd --reload

Используя python:

Вам необходимо установить модуль simplehttpdserver в Linux, используя следующие команды в соответствии с вашей версией python.

[root@andreyex ~]# cd httpfile/ [root@andreyex httpfile]# python3 -m http.server Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
python -m SimpleHTTPSever or python2 -m SimpleHTTPSever

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

Читайте также:  Linux wol не работает

Вы также можете использовать разные порты для настройки файлового сервера HTTP с помощью следующей команды. мы также можем привязать конкретный IP-адрес.

python3 -m http.server 8080 ## использовать другой порт python3 -m http.server 8080 --bind 127.0.0.1

Файловый сервер с использованием Ruby:

Мы также можем настроить файловый сервер с помощью ruby. у вас должен быть установлен Ruby на вашем компьютере.

Проверьте версию ruby, используя команду ниже.

[root@andreyex ~]# ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]

Читать Проблемы с практикой Python. Приготовьтесь к следующему собеседованию. Решение головоломки судоку. Часть 4.1

Используйте команду ниже, чтобы создать HTTP-сервер на основе Ruby с портом 8000.

[root@andreyex httpfile]# ruby -run -ehttpd . -p8000 [2020-09-05 02:20:55] INFO WEBrick 1.4.2 [2020-09-05 02:20:55] INFO ruby 2.5.5 (2019-03-15) [x86_64-linux] [2020-09-05 02:20:55] INFO WEBrick::HTTPServer#start: pid=2482 port=8000

Вы можете получить доступ к файловому серверу, используя URL-адрес http: // ip: 8000.

Файловый сервер с использованием HTTP-сервера (Nodejs):

У нас есть еще один метод для файлового сервера с использованием nodejs. вам нужно установить nodejs на свой компьютер.

sudo yum install nodejs -y

После установки nodejs нам нужно установить пакет http-server с помощью следующей команды.

[root@andreyex httpfile]# npm install -g http-server /usr/local/bin/http-server -> /usr/local/lib/node_modules/http-server/bin/http-server /usr/local/bin/hs -> /usr/local/lib/node_modules/http-server/bin/http-server + http-server@0.12.3 added 23 packages from 35 contributors in 8.396s

Запустите файловый сервер с помощью приведенной ниже команды с портом 8000.

[root@andreyex]# cd httpfile [root@andreyex httpfile]# http-server -p 8000 Starting up http-server, serving ./ Available on: http://127.0.0.1:8000 http://192.168.185.147:8000 Hit CTRL-C to stop the server

Проверьте URL-адрес с http: // ip: 8000.

Мы успешно показали вам, как создать файловый сервер на основе https с помощью apache в Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector