September 18, 2019, 07:34:04 am

News:

Have you visited the Allwinner Chipset wiki? - http://linux-sunxi.org/


Домашний сервер Cubian шаг за шагом

Started by luminofor, February 03, 2014, 03:37:57 pm

Previous topic - Next topic

luminofor

Webmin пожалуй лидер на рынке свободного серверного ПО для администрирования, имеет множество подключаемых модулей на любой вкус. Рассмотрим его не сложную установку

Есть два метода установки на debian совместимых системах, вручную и в автоматическом режиме. Расмотрим автоматический режим.
Добавим репозиторий Webmin  в список репозиториев
sudo nano /etc/apt/sources.list

Вставляем в конец списка следующие строки
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Сохраняем ctrl+o, выходим ctrl+x
Добавляем ключ репозитория в список ключей, для этого нужно быть под рутом.
Включаем суперюзера, переходим в домашнюю папку root, скачиваем ключ, устанавливаем.
sudo su
cd /root
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc


Обновляем список пакетов, устанавливаем webmin
apt-get update
apt-get install webmin


Все зависимости установятся автоматически.
Открываем браузер, пишем
https://127.0.0.1:10000
Бывает, что браузер ругается и предлагает покинуть сайт, но мы добавляем сайт в доверенную зону и входим.
Пробуем сначала войти пользователем cubie, если не получается, то рутом.
Находим вкладку с настройками языка, выбираем русский и радуемся  :D

Если вам понадобится отключит шифрование и не использовать https доступ к webmin, делаем следующее
Открываем файл конфигурации webmin
sudo nano /etc/webmin/miniserv.conf
находим строчку
ssl=1
1 меняем на 0
Перезапускаем webmin
sudo /etc/init.d/webmin restart
Теперь webmin работает по адресу
http://127.0.0.1:10000


Если вас не устраивает webmin, можете попробовать ajenti. Тем более, что никаких дополнительных движений делать не нужно, ajenti уже установлен в Cubian, нужно лишь обновить систему и он заработает  :)
После обновления системы будет доступен по адресу 127.0.0.1:8000

leshekb

Что народ скажет по части использования Cubian Desktop? Долго ждал его, думал, будет более-менее хороший набор, а оказалась абсолютная пустышка. :( См. соседнюю тему здесь же.

cubieTim

Давно поставил, правда не в NAND, все добро стоит на sd 8gb 10class. Так все на стадии разработки.
Сейчас мой кубик A20 выполняет роль сервера умного дома. В качестве сервера рекомендую nginx, очень доволен.

Раджа

Мне в nginx не нравится, что он сам cgi не рулит.
Заткнись и смотри аниме!

luminofor

Если вам понадобится перенести установленую систему во встроеную память NAND, то с Cubian нет ничего проще))
Установим cubian-nandinstall

apt-get install cubian-nandinstall
Теперь запустим
sudo cubian-nandinstall
При первом запуске появится сообщение, что установка продолжится при следующем запуске
Перезагружаемся
sudo reboot
И снова запускаем
sudo cubian-nandinstall
Дожидаемся окончания установки, выключаем кубик
sudo poweroff
Вынимаем SD карту и включаем кубик. Радуемся  :)
Кстати NAND уже разбит как надо, то есть используется вся доступная область
cubie@Cubian:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          3.8G  1.4G  2.2G  39% /
/dev/root       3.8G  1.4G  2.2G  39% /
devtmpfs        405M     0  405M   0% /dev
tmpfs            81M  196K   81M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           162M     0  162M   0% /run/shm

luminofor

Про монтирование существует множество статей и мнений, пишу в основном для себя, чтобы не искать потом))

Создаем папку, куда будет смонтирован HDD
sudo mkdir /mnt/hdd
Даем право доступа на чтение/запись для всех пользователей
sudo chmod 777 /mnt/hdd
Я не буду описывать тонкости создания разделов из консоли, т.к. предпочитаю создавать их в gui. Например в gparted.
Чтобы посмотреть какие разделы у нас на hdd пишем
sudo fdisk -l
Видим примерно следующее
Disk /dev/sda: 500.1 GB, 500106780160 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976771055 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00033ddf

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    20482047    10240000   83  Linux
/dev/sda2        20482048   966526975   473022464   83  Linux
/dev/sda3       966526976   976769023     5121024   83  Linux

Как видим, у меня три раздела (мне так надо :) ), я буду монтировать второй. У вас может быть один sda1
Открываем /etc/fstab
sudo nano /etc/fstab
Добавляем в самый конец
/dev/sda2       /mnt/hdd        ext4    defaults        0       2
Записи разделяем либо пробелом, либо табуляцией
Сохраняем ctrl+o, выходим из редактора ctrl+x. Перезагружаемся
sudo reboot
После перезагрузки проверяем
cubie@Cubian:~$ mount
/dev/root on / type ext4 (rw,relatime,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=413924k,nr_inodes=103481,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=82812k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=165600k)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda2 on /mnt/hdd type ext4 (rw,relatime,data=ordered)


Как видим второй раздел жесткого диска смонтирован в нужную папку

luminofor

March 11, 2014, 03:09:27 am #36 Last Edit: March 11, 2014, 04:34:17 am by luminofor
Установим веб сервер nginx. Вольный частичный перевод этой статьи
sudo apt-get install nginx
Запускаем
sudo /etc/init.d/nginx start
Проверяем. Открываем браузер, пишем адрес кубика или локальный адрес
Видим следующую надпись
Welcome to nginx!
Сервер запущен
Допустим наши веб проекты будут храниться на уже смонтированном жестком диске
Для этого нужно поправить конфиг nginx
sudo nano /etc/nginx/sites-available/default
Находим строчку
root /usr/share/nginx/www
Меняем на
root /mnt/hdd
Сохраняем ctrl+o, выходим ctrl+x
Перезапускаем nginx
sudo /etc/init.d/nginx restart
Для статичных сайтов этого впринципе достаточно, но мне нужно запускать php скрипты, для этого продолжаем редактировать/etc/nginx/sites-available/default

Для запуска php скриптов с строку
index index.html index.htm
Через пробел добавляем
index.php
Теперь включим возможность обработки php. Находим блок
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #       fastcgi_pass unix:/var/run/php5-fpm.sock;
        #       fastcgi_index index.php;
        #       include fastcgi_params;
        #}

Меняем на
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
               fastcgi_pass unix:/var/run/php5-fpm.sock;
               fastcgi_index index.php;
               include fastcgi_params;
        }

Теперь установим php5-fpm
sudo apt-get install php5-fpm
Заходим в файл конфигурации
sudo nano /etc/php5/fpm/php.ini
Чтобы не искать долго нужную строчку нажимаем ctrl+w, пишем cgi.fix_pathinfo=1
Попадаем в нужное место
Меняем
;cgi.fix_pathinfo=1
на
cgi.fix_pathinfo=0
Перезапускаем сервис
sudo service php5-fpm restart
Проверяем работу php, создаем файл
sudo nano /mnt/hdd/info.php
Вставляем текст
<?php
     phpinfo
();
   
?>

Сохраняем, выходим. Запускаем браузер. Пишем либо адрес кубика, либо локальный http://localhost/info.php
Видим примерно такую страницу


Раджа

Если интересно, могу описать установку lighttpd+php+mysql+ttrss+phpmyadmin.
ttrss я на кубик с роутера переселял.
Заткнись и смотри аниме!

luminofor

Quote from: Раджа on March 11, 2014, 05:22:55 am
Если интересно, могу описать установку lighttpd+php+mysql+ttrss+phpmyadmin.
ttrss я на кубик с роутера переселял.

Интересно, пиши. У меня  lighttpd+php стоял на роутере, решил вот nginx попробовать

luminofor

Обратится к данному скрипту меня побудила политика блокирования файлообменников и youtube на предприятиях, где мне доводится бывать и работать

Как говорится на официальном сайте, Rapidleech является бесплатным скриптом для передачи файлов на сервер. Его можно использовать для загрузки с различных популярных сайтов, таких как megaupload.com , Rapidshare.com и более чем 45 других. От себя добавлю, что Youtube тоже поддерживается.
Rapidleech скрипт используется более чем 5 миллионами пользователей по всему миру и устанавливлен более чем на 2000 серверах. Ну и дальше бла бла бла...
Переходим по адресу http://code.google.com/p/rapidleech/downloads/list
На момент написания статьи последняя версия  rl23_v43_SVN428.zip

Скачаем архив, например в папку /mnt/hdd
sudo wget -P /mnt/hdd/ http://rapidleech.googlecode.com/files/rl23_v43_SVN428.zip
Распакуем в ту же папку
sudo unzip /mnt/hdd/rl23_v43_SVN428.zip -d /mnt/hdd/
Дадим права 777 на все вложеные файлы и папки скрипта
sudo chmod -R 777 /mnt/hdd/rapidleech
Я хотел заняться переводом языкового файла, но потом нашел в сети уже готовый вариант перевода.
Выложил сюда, его нужно положить в папку /mnt/hdd/rapidleech/languages

Теперь откроем браузер и перейдем по адресу http://127.0.0.1/rapidleech, либо по адресу cubieboard в сети http://my_host/rapidleech
Видим следующую страничку с настройками

Заполняем по своему вкусу
Мои настройки
Download Directory  /mnt/hdd
Галочка в чекбоксе Enable Authorization mode, соответственно имя и пароль для доступа к страничке
Language ru
Галочка в чекбоксе Transload files in a new window
Жмем снизу Save Configuration
Думаю дальше разберетесь, теперь все по русски  :D

Раджа

Quote from: luminofor on March 11, 2014, 06:21:40 am
Дадим права 777 на все вложеные файлы и папки скрипта

И себе по рукам за такую расстановку прав.
Заткнись и смотри аниме!

luminofor

Quote from: Раджа on March 11, 2014, 08:28:34 am
Quote from: luminofor on March 11, 2014, 06:21:40 am
Дадим права 777 на все вложеные файлы и папки скрипта

И себе по рукам за такую расстановку прав.

Веришь, просто лень вникать какому конкретно файлу что давать))

ua3prq

Quote from: luminofor on March 11, 2014, 06:21:40 am
Обратится к данному скрипту меня побудила политика блокирования файлообменников и youtube на предприятиях, где мне доводится бывать и работать
...skip

1. Плиз, расшифруйте как может скрипт помочь в этом деле (если только из дома поработать)? И правильно ли я понимаю, что данная навеска позволяет многопоточно автоматизировать скачку с файлообменников и с гостевым доступом?

2. Все это дело крутится на nginx? Т.е. что нужно для голой системы скрипту?

luminofor

Quote from: ua3prq on March 11, 2014, 02:23:55 pm
1. Плиз, расшифруйте как может скрипт помочь в этом деле

Ну вот допустим мне нужно скачать файл с depositfiles, браузер мне показывает такую картинку

Я открываю свою домашнюю страничку с Rapidleech, ввожу ссылку, жму Загрузить


Файл на сервере
Теперь его можно скачать, переименовать, заархивировать/разархивировать, разбить на части...
Все зависит от конкретной ситуации и установленых плагинов скрипта


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

Quote from: ua3prq on March 11, 2014, 02:23:55 pm
И правильно ли я понимаю, что данная навеска позволяет многопоточно автоматизировать скачку с файлообменников и с гостевым доступом?

Многопоточно можно, скрипт поддерживает закачку списка файлов. Но к некотрым файлообменникам нужен платный доступ.
При установке скрипта, запускается конфигуратор, где можно выбрать использовать пароль доступа или нет. Потом нужные параметры можно поправить в конфиге или просто удалить его, и скрипт снова покажет конфигуратор

Quote from: ua3prq on March 11, 2014, 02:23:55 pm
2. Все это дело крутится на nginx? Т.е. что нужно для голой системы скрипту?

Не обязательно nginx, до покупки кубика этот скрипт крутился у меня на роутере, в качестве сервера был lighttpd
Вообще нужен собственно сервер плюс PHP

ua3prq

Если мы обращаемся к удаленной системе (домой), тут все понятно.
Я просто думал, что скрипт использует какие-то API функции файлообменников для прямого скачивания, минуя WEB-капчи. В таком случае, нужно все равно иметь доступ к определенным (не HTTP/HTTPS) портам в инете.

Лично я на работе практикую у себя прозрачный сквид (под Mikrotik RouterOS), где юзверям в сеть доступен в основном только 80 порт (особо рьяным- с акцесс-листом), поэтому все эти волшебные решения имеют право жить у влельцев куби.

А так интересно, конечно, наряду с торентом.