Хостинг своими руками linux

Как с нуля настроить свой хостинг для сайтов на Linux CentOS 7

Обращаю особое внимание, что в данной инструкции идет речь о создании виртуального хостинга — веб-сервера для размещения сайтов изолированных друг от друга.

В качестве примера используются команды на Linux CentOS. Однако, справедливости ради, нужно заметить, что данными методами без проблем удастся настроить любой Linux и (с небольшими правками) FreeBSD.

  • Частный хостинг для небольшого количества клиентов.
  • Размещение сайтов компании.
  • Тестовый сервер для веб-мастера.
  • Установка корпоративных порталов.
  • Домашний сервер для компьютерных игр.

Не рекомендую использовать данный хостинг для оказания профессиональных услуг большому количеству клиентов, в связи с отсутствием панели управления. В противном случае, необходимо сделать выбор в сторону специализированной платформы, например, CPanel или самостоятельно разрабатывать систему управления, биллинга, поддержки и так далее.

Содержание

Как выбрать сервер для хостинга

Железо

Основной потребляемый ресурс виртуального хостинга — объем жесткого диска. Небольшие сайты-визитки могут иметь размер менее 100 Мб. Но Интернет-магазины или фото- видео-порталы требуют больших ресурсов. В зависимости от целей, необходимо выделить от 50 Гб до 4 Тб. Больше или меньше для наших целей нецелесообразно.

Мощный процессор нужен только для порталов, которые запускают большое количество скриптов. Для большинства хостингов можно остановить выбор на недорогом процессоре.

Оперативной памяти также требуется небольшое количество — веб-сервер для 50 — 100 простых сайтов прекрасно себя будет чувствовать на 8 Гб.

Платформа

Прекрасно подойдут следующие варианты — обычный домашний компьютер, выделенный физический сервер, виртуальная машина, арендованный сервер.

Выбор операционной системы

Для большинства хостинг-серверов, UNIX-системы являются лучшим выбором, так как:

  1. Преимущественно, они бесплатные.
  2. Работают стабильно.
  3. Основное программное обеспечение для веб-серверов, в первую очередь, разрабатывается для UNIX.

Напомню, что в данной инструкции применяется Linux CentOS 7.

Установка веб-сервера + все необходимое

Процесс настройки веб-сервера подробно описан в статье NGINX + Apache (httpd) + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + xCache + Postfix на CentOS 7. По данной инструкции можно настроить сервер для персонального использования или использования в компании. Но на хостинге будут находиться разные сайты, которые нужно изолировать друг от друга. Также необходимы квоты.

Настройка хостинга

На предыдущем шаге представлена ссылка на статью, по которой мы сконфигурировали полноценный веб-сервер. Но для хостинга необходимо внести некоторые дополнительные настройки.

Общий пользователь

Так как к одним и тем же каталогам необходимы права доступа для nginx и apache, создаем общую группу и добавим в нее учетные записи, от которых работают данные веб-сервисы.

Добавим группу virtwww:

Задаем созданную группу как дополнительную для apache и nginx:

usermod apache -G virtwww

Читайте также:  Где покупать лицензию windows

usermod nginx -G virtwww

Запуск виртуальных доменов от определенного пользователя

Чтобы каждый виртуальный домен apache мог работать от отдельного пользователя, устанавливаем модуль httpd-itk:

yum install httpd-itk

После открываем следующий файл:

и снимаем комментарий для LoadModule — получится:

LoadModule mpm_itk_module modules/mod_mpm_itk.so

Настройка Apache

Добавим разрешения на каталоги, в которых будут храниться файлы сайтов:

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

* по предложенной статье права были выданы на каталоги /var/www/*/www, для хостинга мы будем использовать немного другую вложенность.

Создание пользователя

Для каждого клиента необходимо создавать отдельного пользователя Linux, к которому будут привязаны виртуальные домены и базы данных. Это позволит изолировать ресурсы одного пользователя от другого и осуществить квотирование.

1. Создаем пользователя и группу Linux:

groupadd u10001 -g 10001

useradd u10001 -u 10001 -g virtwww -G u10001 -d /var/www/u10001 -m -k /dev/null

* где u10001 — имя пользователя/группы; 10001 — идентификатор пользователя в системе; virtwww — основная группа, которой будет принадлежать пользователь; опция -m создаст каталог пользователя; -k /dev/null — не использовать скелет для наполнения профиля файлами.

2. Создаем базу данных и пользователя mysql:

mysql -uroot -p -e «CREATE DATABASE b10001 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;» -e «GRANT ALL PRIVILEGES ON b10001.* TO m10001@localhost IDENTIFIED BY ‘mysqlpass’;»

* где b10001 — название базы; m10001 — пользователя базы данных; mysqlpass — пароль доступа к mysql.

3. Создаем FTP-пользователя. Процесс зависит от того, где мы решили хранить пользователей.

Если храним в файле:

ftpasswd —passwd —file=/etc/proftpd.d/ftpd.passwd —name=f10001 —uid=10001 —gid=10001 —home=/var/www/u10001 —shell=/sbin/nologin

Если в базе данных:

mysql -uroot -p -e «INSERT INTO proftpd.users (username, password, uid, gid, homedir) values (‘f10001’, encrypt(‘ftpass’), 10001, 10001, ‘/var/www/u10001’);»

* f10001 — имя FTP-пользователя; ftpass — пароль пользователя.

4. Задаем права на каталоги:

chmod 4710 /var/www/u10001

chmod 4470 /home/mysql/b10001

chown u10001:virtwww /var/www/u10001

chown u10001:mysql /home/mysql/b10001

* где /home/mysql — путь, по которому хранятся базы.

Создание площадки

Для каждого клиента можно создать одну или несколько площадок, каждая из которых будет использоваться под определенный сайт.

1. Создаем каталоги:

mkdir -p /var/www/u10001/site1.ru/

mkdir -p /var/www/u10001/site1.ru/log/

* подразумевается, что мы создаем площадку для сайта site1.ru.

2. Задаем права на каталоги:

chown -R u10001:virtwww /var/www/u10001/site1.ru

chown -R root:u10026 /var/www/u10001/site1.ru/log

chmod -R 04770 /var/www/u10001/site1.ru

chmod 0710 /var/www/u10001/site1.ru/cgi

chmod -R 0750 /var/www/u10001/site1.ru/log

3. Создаем виртуальный домен в Apache:

Define root_domain site1.ru
Define root_path /var/www/u10001/site1.ru

ErrorLog $/log/apache/error_log
TransferLog $/log/apache/access_log

php_admin_value upload_tmp_dir $/tmp
php_admin_value doc_root $
php_admin_value user_dir www
php_admin_value open_basedir /var/www/u10001:/usr/local/share/smarty:/usr/local/share/pear
php_admin_value session.save_path «0;0660;$/tmp»
php_flag display_errors off

AssignUserID u10001 virtwww

* где site1.ru — сайт, для которого мы создаем площадку; /var/www/u10001/site1.ru — путь, где будут расположены файлы сайта; AssignUserID определяет, под какими учетными данными будет работать виртуальный домен.

4. Создаем виртуальный домен в nginx:

server <
listen 80;
server_name site1.ru www.site1.ru;
set $root_path /var/www/u10001/site1.ru/www;

gzip on;
gzip_disable «msie6»;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

Читайте также:  Лучшие гаджеты погоды для windows 10

access_log /home/www/u10001/site1.ru/log/nginx/access_log;
error_log /home/www/u10001/site1.ru/log/nginx/error_log;

location / <
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>

* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ <
root $root_path;
expires modified +1w;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html <
root /usr/local/www/nginx-dist;
>
>

Проверяем правильность настроек nginx и httpd:

Источник

Хостинг своими руками linux

Каждый может сделать себе хостинг бесплатно (ubuntu)

Хотели бы вы сделать бесплатный хостинг на своем компьютере, где куча места и есть интернет? Я опишу, как мы это сделаем. Также можно создать хостинг и на Windows. Идея ко мне пришла, когда я смотрел на цены моего хостинга. Я покупаю на год пользования всего 1 Гб, для обычного сайта это нормально, но мы же знаем, что дома у нас есть гораздо больше. У кого-то 80 Гб дома, у кого-то 25 Тб, у меня же дома жесткий диск на 2 Тб, и всем этим я хочу с вами поделиться. Заливать на файлообменники я не хочу, я предоставляю прямые ссылки на файлы. У меня безлимит, скорость хорошая (в обе стороны: входящую и исходящую). Хостинг за деньги я буду использовать для самого сайта, а вот файлы я собираюсь загружать со своего ПК. Скорость, конечно, будет делиться на вас, поэтому чуть что, жалуйтесь, буду принимать меры. Копия сайта уже есть на моем сервере, кому интересно, смотрим http://serv.chizi.by/.
Вы сможете перенести свой сайт на свой компьютер.

Собственно, тут объясню, как я это сделал:
1) Жесткий диск, главное чтоб вам хватало места.

2) Хороший интернет, чтобы через него все предоставлять.

3) Статический IP, его можно получить у провайдера (только по технологии adsl) у нас в Беларуси, это 3$ в месяц.

4) И, наконец, отдельный компьютер. Я посчитал, что экономнее будет ставить ноутбук (в плане энергии) и его не выключать.

У меня был старый ноутбук samsung r40, его я и использовал под сервер.

1)Устанавливаем на ноутбук Ubuntu, как установить, в интернете есть описание.
2)Устанавливаем php + apache + Mysql

Устанавливаем Apache
Открываем терминал и выполняем (не забываем включить интернет):

sudo apt-get install apache2

Для запуска и остановки или перезагрузки Apache 2 используем соответственно:

sudo invoke-rc.d apache2 start

sudo invoke-rc.d apache2 stop

sudo /etc/init.d/apache2 restart

После запуска Apache2 можно открыть браузер и проверить работу сервера, перейдя на страницу http://localhost.

Устанавливаем PHP
В терминале выполняем:

sudo apt-get install php5 libapache2-mod-php5

и перезапускаем сервер командой:

sudo invoke-rc.d apache2 restart

Устанавливаем MySQL
Это также не сложно, как и в предыдущих шагах. В терминале выполняем:

sudo apt-get install mysql-server

Далее (важно) изменяем пароль root к серверу БД (если во время установки не спросит автоматически):

sudo mysqladmin -u root password новый_пароль

Перезапускаем Apache 2:

sudo invoke-rc.d apache2 restart

Все должно работать, http://localhost/.
3)Устанавливаем phpmyadmin

Итак, ставим phpmyadmin:

sudo apt-get install phpmyadmin

Читайте также:  Регулярные выражения java windows

Если что-то пошло не так, вот как все удалить через purge в консоли:

  • sudo aptitude purge phpmyadmin
  • sudo aptitude purge php5-mysql
  • sudo aptitude purge php5
  • sudo aptitude purge mysql-server
  • sudo aptitude purge apache2

Во время установки, если спросит apache или lighttpd, выберите apache. Также, если спросит настроить ли базу данных dbconfig-common, то выберите да. Далее, вводим наш пароль от Mysql. После этого создаем пароль для входа в phpmyadmin.

Перезапускаем Аpache 2:

sudo /etc/init.d/apache2 restart

Если phpmyadmin нет в /var/www/, исправим так:

Добавьте в конец файла /etc/apache2/apache2.conf следующую строку (предварительно выполнив sudo chmod 777 /etc/apache2/apache2.conf , чтобы иметь доступ для записи):

и снова перезапускаем Аpache 2:

sudo /etc/init.d/apache2 restart

И теперь у нас уже все есть, осталось только настроить:

Это то место, куда мы можем залить свой сайт, если он у вас один (мне этого достаточно).

Для начала исправим эту папку, чтобы в нее можно было закачивать что угодно. Этой же командой мы можем править любой файл или папку на ubuntu, если будет давать нам доступ:
sudo chmod 777 /var/www/

К сайту можно обращаться с сервера http://localhost/ , а с другого компьютера через статический адрес http://[статический адрес], например, мой.

Также можно при желании включить ftp. Для его установки надо установить всего один пакет proftpd, делается это, как всегда, одной командой:
sudo apt-get install proftpd

Во время установки Вас спросят, как запускать сервер: самостоятельно или автоматически (через initd). Выберете самостоятельно.

Команда перезагрузки на случай чего:
sudo /etc/init.d/proftpd stop/start/restart

Пакет proftpd, так сказать, ядро ftp-сервера, т. е. после его установки ftp-сервер готов к использованию. Подключаться очень просто, логин и пароль системы под ними, можете подключаться по FTP, а сервер, это ваш статичесикй IP.

Или SSH (Защищенный FTP):
Установить ssh-сервер в Ubuntu можно одной командой:
sudo apt-get install openssh-server

Всё, теперь ssh-сервер установлен и запущен.
Чтобы его остановить/запустить/перезапустить, введите команду:
sudo /etc/init.d/ssh stop/start/restart

Подключаться так же, как по ftp, советую filezilla (SFTP).

Загрузил все файлы, импортировал через phpmyadmin (можно использовать и его в корне сайта) базу данных.

У меня была проблемма с ЧПУ в WordPress c ubuntu, решаем тут.

Теперь все файлы, что лежат у нас в /var/www/ , можно будет открывать удаленно, т. е. можно использовать его даже как файловый сервер, например, так. Главное, чтобы нам место позволяло, эту статью я позже возможно разделю на несколько подстатей, а пока пробуйте и наслаждайтесь, вы будете одни из немногих людей, кто не переплатит хостингам. Будут вопросы, пишите, все разжую, чуть что.

Подключаем к нашему некрасивому IP новый домен, например, на hoster.by, и через 3 дня наслаждаемся новым именем:

Также можно создать хостинг и на Windows.

P.S.

Вот ссылка, как на один IP вешать несколько сайтов и увидеть сайт по сети (для Максима). Файлик .htaccess добавляем в корень сайта или директорией выше, кому как удобнее.

Источник

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

Хостинг своими руками linux

Как с нуля настроить свой хостинг для сайтов на Linux CentOS 7

Обращаю особое внимание, что в данной инструкции идет речь о создании виртуального хостинга — веб-сервера для размещения сайтов изолированных друг от друга.

В качестве примера используются команды на Linux CentOS. Однако, справедливости ради, нужно заметить, что данными методами без проблем удастся настроить любой Linux и (с небольшими правками) FreeBSD.

  • Частный хостинг для небольшого количества клиентов.
  • Размещение сайтов компании.
  • Тестовый сервер для веб-мастера.
  • Установка корпоративных порталов.
  • Домашний сервер для компьютерных игр.

Не рекомендую использовать данный хостинг для оказания профессиональных услуг большому количеству клиентов, в связи с отсутствием панели управления. В противном случае, необходимо сделать выбор в сторону специализированной платформы, например, CPanel или самостоятельно разрабатывать систему управления, биллинга, поддержки и так далее.

Содержание

Как выбрать сервер для хостинга

Железо

Основной потребляемый ресурс виртуального хостинга — объем жесткого диска. Небольшие сайты-визитки могут иметь размер менее 100 Мб. Но Интернет-магазины или фото- видео-порталы требуют больших ресурсов. В зависимости от целей, необходимо выделить от 50 Гб до 4 Тб. Больше или меньше для наших целей нецелесообразно.

Мощный процессор нужен только для порталов, которые запускают большое количество скриптов. Для большинства хостингов можно остановить выбор на недорогом процессоре.

Оперативной памяти также требуется небольшое количество — веб-сервер для 50 — 100 простых сайтов прекрасно себя будет чувствовать на 8 Гб.

Платформа

Прекрасно подойдут следующие варианты — обычный домашний компьютер, выделенный физический сервер, виртуальная машина, арендованный сервер.

Выбор операционной системы

Для большинства хостинг-серверов, UNIX-системы являются лучшим выбором, так как:

  1. Преимущественно, они бесплатные.
  2. Работают стабильно.
  3. Основное программное обеспечение для веб-серверов, в первую очередь, разрабатывается для UNIX.

Напомню, что в данной инструкции применяется Linux CentOS 7.

Установка веб-сервера + все необходимое

Процесс настройки веб-сервера подробно описан в статье NGINX + Apache (httpd) + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + xCache + Postfix на CentOS 7. По данной инструкции можно настроить сервер для персонального использования или использования в компании. Но на хостинге будут находиться разные сайты, которые нужно изолировать друг от друга. Также необходимы квоты.

Настройка хостинга

На предыдущем шаге представлена ссылка на статью, по которой мы сконфигурировали полноценный веб-сервер. Но для хостинга необходимо внести некоторые дополнительные настройки.

Общий пользователь

Так как к одним и тем же каталогам необходимы права доступа для nginx и apache, создаем общую группу и добавим в нее учетные записи, от которых работают данные веб-сервисы.

Добавим группу virtwww:

Задаем созданную группу как дополнительную для apache и nginx:

usermod apache -G virtwww

Читайте также:  Эмулятор приложений mac для windows

usermod nginx -G virtwww

Запуск виртуальных доменов от определенного пользователя

Чтобы каждый виртуальный домен apache мог работать от отдельного пользователя, устанавливаем модуль httpd-itk:

yum install httpd-itk

После открываем следующий файл:

и снимаем комментарий для LoadModule — получится:

LoadModule mpm_itk_module modules/mod_mpm_itk.so

Настройка Apache

Добавим разрешения на каталоги, в которых будут храниться файлы сайтов:

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted

* по предложенной статье права были выданы на каталоги /var/www/*/www, для хостинга мы будем использовать немного другую вложенность.

Создание пользователя

Для каждого клиента необходимо создавать отдельного пользователя Linux, к которому будут привязаны виртуальные домены и базы данных. Это позволит изолировать ресурсы одного пользователя от другого и осуществить квотирование.

1. Создаем пользователя и группу Linux:

groupadd u10001 -g 10001

useradd u10001 -u 10001 -g virtwww -G u10001 -d /var/www/u10001 -m -k /dev/null

* где u10001 — имя пользователя/группы; 10001 — идентификатор пользователя в системе; virtwww — основная группа, которой будет принадлежать пользователь; опция -m создаст каталог пользователя; -k /dev/null — не использовать скелет для наполнения профиля файлами.

2. Создаем базу данных и пользователя mysql:

mysql -uroot -p -e «CREATE DATABASE b10001 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;» -e «GRANT ALL PRIVILEGES ON b10001.* TO m10001@localhost IDENTIFIED BY ‘mysqlpass’;»

* где b10001 — название базы; m10001 — пользователя базы данных; mysqlpass — пароль доступа к mysql.

3. Создаем FTP-пользователя. Процесс зависит от того, где мы решили хранить пользователей.

Если храним в файле:

ftpasswd —passwd —file=/etc/proftpd.d/ftpd.passwd —name=f10001 —uid=10001 —gid=10001 —home=/var/www/u10001 —shell=/sbin/nologin

Если в базе данных:

mysql -uroot -p -e «INSERT INTO proftpd.users (username, password, uid, gid, homedir) values (‘f10001’, encrypt(‘ftpass’), 10001, 10001, ‘/var/www/u10001’);»

* f10001 — имя FTP-пользователя; ftpass — пароль пользователя.

4. Задаем права на каталоги:

chmod 4710 /var/www/u10001

chmod 4470 /home/mysql/b10001

chown u10001:virtwww /var/www/u10001

chown u10001:mysql /home/mysql/b10001

* где /home/mysql — путь, по которому хранятся базы.

Создание площадки

Для каждого клиента можно создать одну или несколько площадок, каждая из которых будет использоваться под определенный сайт.

1. Создаем каталоги:

mkdir -p /var/www/u10001/site1.ru/

mkdir -p /var/www/u10001/site1.ru/log/

* подразумевается, что мы создаем площадку для сайта site1.ru.

2. Задаем права на каталоги:

chown -R u10001:virtwww /var/www/u10001/site1.ru

chown -R root:u10026 /var/www/u10001/site1.ru/log

chmod -R 04770 /var/www/u10001/site1.ru

chmod 0710 /var/www/u10001/site1.ru/cgi

chmod -R 0750 /var/www/u10001/site1.ru/log

3. Создаем виртуальный домен в Apache:

Define root_domain site1.ru
Define root_path /var/www/u10001/site1.ru

ErrorLog $/log/apache/error_log
TransferLog $/log/apache/access_log

php_admin_value upload_tmp_dir $/tmp
php_admin_value doc_root $
php_admin_value user_dir www
php_admin_value open_basedir /var/www/u10001:/usr/local/share/smarty:/usr/local/share/pear
php_admin_value session.save_path «0;0660;$/tmp»
php_flag display_errors off

AssignUserID u10001 virtwww

* где site1.ru — сайт, для которого мы создаем площадку; /var/www/u10001/site1.ru — путь, где будут расположены файлы сайта; AssignUserID определяет, под какими учетными данными будет работать виртуальный домен.

4. Создаем виртуальный домен в nginx:

server <
listen 80;
server_name site1.ru www.site1.ru;
set $root_path /var/www/u10001/site1.ru/www;

gzip on;
gzip_disable «msie6»;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

Читайте также:  Почтовый ящик linux пользователя

access_log /home/www/u10001/site1.ru/log/nginx/access_log;
error_log /home/www/u10001/site1.ru/log/nginx/error_log;

location / <
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>

* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ <
root $root_path;
expires modified +1w;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html <
root /usr/local/www/nginx-dist;
>
>

Проверяем правильность настроек nginx и httpd:

Источник

Хостинг своими руками linux

Каждый может сделать себе хостинг бесплатно (ubuntu)

Хотели бы вы сделать бесплатный хостинг на своем компьютере, где куча места и есть интернет? Я опишу, как мы это сделаем. Также можно создать хостинг и на Windows. Идея ко мне пришла, когда я смотрел на цены моего хостинга. Я покупаю на год пользования всего 1 Гб, для обычного сайта это нормально, но мы же знаем, что дома у нас есть гораздо больше. У кого-то 80 Гб дома, у кого-то 25 Тб, у меня же дома жесткий диск на 2 Тб, и всем этим я хочу с вами поделиться. Заливать на файлообменники я не хочу, я предоставляю прямые ссылки на файлы. У меня безлимит, скорость хорошая (в обе стороны: входящую и исходящую). Хостинг за деньги я буду использовать для самого сайта, а вот файлы я собираюсь загружать со своего ПК. Скорость, конечно, будет делиться на вас, поэтому чуть что, жалуйтесь, буду принимать меры. Копия сайта уже есть на моем сервере, кому интересно, смотрим http://serv.chizi.by/.
Вы сможете перенести свой сайт на свой компьютер.

Собственно, тут объясню, как я это сделал:
1) Жесткий диск, главное чтоб вам хватало места.

2) Хороший интернет, чтобы через него все предоставлять.

3) Статический IP, его можно получить у провайдера (только по технологии adsl) у нас в Беларуси, это 3$ в месяц.

4) И, наконец, отдельный компьютер. Я посчитал, что экономнее будет ставить ноутбук (в плане энергии) и его не выключать.

У меня был старый ноутбук samsung r40, его я и использовал под сервер.

1)Устанавливаем на ноутбук Ubuntu, как установить, в интернете есть описание.
2)Устанавливаем php + apache + Mysql

Устанавливаем Apache
Открываем терминал и выполняем (не забываем включить интернет):

sudo apt-get install apache2

Для запуска и остановки или перезагрузки Apache 2 используем соответственно:

sudo invoke-rc.d apache2 start

sudo invoke-rc.d apache2 stop

sudo /etc/init.d/apache2 restart

После запуска Apache2 можно открыть браузер и проверить работу сервера, перейдя на страницу http://localhost.

Устанавливаем PHP
В терминале выполняем:

sudo apt-get install php5 libapache2-mod-php5

и перезапускаем сервер командой:

sudo invoke-rc.d apache2 restart

Устанавливаем MySQL
Это также не сложно, как и в предыдущих шагах. В терминале выполняем:

sudo apt-get install mysql-server

Далее (важно) изменяем пароль root к серверу БД (если во время установки не спросит автоматически):

sudo mysqladmin -u root password новый_пароль

Перезапускаем Apache 2:

sudo invoke-rc.d apache2 restart

Все должно работать, http://localhost/.
3)Устанавливаем phpmyadmin

Итак, ставим phpmyadmin:

sudo apt-get install phpmyadmin

Читайте также:  Arduino uno linux serial

Если что-то пошло не так, вот как все удалить через purge в консоли:

  • sudo aptitude purge phpmyadmin
  • sudo aptitude purge php5-mysql
  • sudo aptitude purge php5
  • sudo aptitude purge mysql-server
  • sudo aptitude purge apache2

Во время установки, если спросит apache или lighttpd, выберите apache. Также, если спросит настроить ли базу данных dbconfig-common, то выберите да. Далее, вводим наш пароль от Mysql. После этого создаем пароль для входа в phpmyadmin.

Перезапускаем Аpache 2:

sudo /etc/init.d/apache2 restart

Если phpmyadmin нет в /var/www/, исправим так:

Добавьте в конец файла /etc/apache2/apache2.conf следующую строку (предварительно выполнив sudo chmod 777 /etc/apache2/apache2.conf , чтобы иметь доступ для записи):

и снова перезапускаем Аpache 2:

sudo /etc/init.d/apache2 restart

И теперь у нас уже все есть, осталось только настроить:

Это то место, куда мы можем залить свой сайт, если он у вас один (мне этого достаточно).

Для начала исправим эту папку, чтобы в нее можно было закачивать что угодно. Этой же командой мы можем править любой файл или папку на ubuntu, если будет давать нам доступ:
sudo chmod 777 /var/www/

К сайту можно обращаться с сервера http://localhost/ , а с другого компьютера через статический адрес http://[статический адрес], например, мой.

Также можно при желании включить ftp. Для его установки надо установить всего один пакет proftpd, делается это, как всегда, одной командой:
sudo apt-get install proftpd

Во время установки Вас спросят, как запускать сервер: самостоятельно или автоматически (через initd). Выберете самостоятельно.

Команда перезагрузки на случай чего:
sudo /etc/init.d/proftpd stop/start/restart

Пакет proftpd, так сказать, ядро ftp-сервера, т. е. после его установки ftp-сервер готов к использованию. Подключаться очень просто, логин и пароль системы под ними, можете подключаться по FTP, а сервер, это ваш статичесикй IP.

Или SSH (Защищенный FTP):
Установить ssh-сервер в Ubuntu можно одной командой:
sudo apt-get install openssh-server

Всё, теперь ssh-сервер установлен и запущен.
Чтобы его остановить/запустить/перезапустить, введите команду:
sudo /etc/init.d/ssh stop/start/restart

Подключаться так же, как по ftp, советую filezilla (SFTP).

Загрузил все файлы, импортировал через phpmyadmin (можно использовать и его в корне сайта) базу данных.

У меня была проблемма с ЧПУ в WordPress c ubuntu, решаем тут.

Теперь все файлы, что лежат у нас в /var/www/ , можно будет открывать удаленно, т. е. можно использовать его даже как файловый сервер, например, так. Главное, чтобы нам место позволяло, эту статью я позже возможно разделю на несколько подстатей, а пока пробуйте и наслаждайтесь, вы будете одни из немногих людей, кто не переплатит хостингам. Будут вопросы, пишите, все разжую, чуть что.

Подключаем к нашему некрасивому IP новый домен, например, на hoster.by, и через 3 дня наслаждаемся новым именем:

Также можно создать хостинг и на Windows.

P.S.

Вот ссылка, как на один IP вешать несколько сайтов и увидеть сайт по сети (для Максима). Файлик .htaccess добавляем в корень сайта или директорией выше, кому как удобнее.

Источник

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