edm Posted April 5, 2017 Share Posted April 5, 2017 (edited) Столкнулся с проблемой, когда мощности Giga 2 не хватает для быстрой работы owncloud (при обработке картинок). Кто торопиться, то само ускорение в понкуте 8. и 9. Начинаем. [ Если возниклнут проблемы, сообщите ] 1. Устанавливаем debian на роутер и настраиваем на свой вкус (полная-установка-entware-3x-совместно-с-debian-8) 2. Устанавливаем openssl, php5, nginx, apache2, mysql, adminer, phpmyadmin (не объязательно) 3. Советую использовать версию owncloud 9+ потому, что в веб-версии будет досупна много новых полезных фич + Русская локал тоже. Но можно и стандартную версию owncloud 7 из debian. 4. Установка owncloud-9.1.4-2.1 (если хотите owncloud-7, то перейдите к пункту 5.) Через ssh-терминал debian'a добавляем ключи к репозитории новой версии owncloud 9 # wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key # apt-key add - < Release.key Адрес репозитории # sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' > /etc/apt/sources.list.d/owncloud.list" И объязательно после этого делаем # apt-get update 5. Установка owncloud # apt-get install owncloud 6. Файлы конфигурации apache2 и nginx и тестовый httpS сертефикат. Эти файлы 192.168.1.1.crt 192.168.1.1.key поместите в новую папку /var/сертификат/ testCA.crt - а этот Корневой файл Сертификации можно установить на телефон или на комп, чтоб не выдавал предупреждение в браузере. [предупреждение] чтобы было безопасно, нужно самым создавать сертификат через openssl. Выше прилагающиеся сертификаты для ознакомления. nginx будет работать на порту :443. чтоб включить и :80 (раскомментируйте строки) /etc/nginx/sites-available/default Скрытый текст #обычное соединение http на порту 80, то есть http://192.168.1.1 #если веб-интерфейс кинетика работает на порту 777, то можно раскомментировать эти 11 строк #server { # listen 80 default_server; # listen [::]:80 default_server ipv6only=on; # root /var/www/html; # #index index.php index.html; # server_name 192.168.1.1; # # #перенаправление на httpS # rewrite ^(.*) https://$server_name$1 permanent; # #} #безопасное соединение httpS, то есть https://192.168.1.1 server { listen 443 default_server; listen [::]:443 default_server ipv6only=on; root /var/www/html; index index.php index.html; server_name 192.168.1.1; ssl on; #ssl_certificate /home/сертификат/server.pem; #ssl_certificate_key /home/сертификат/server.key; #ssl_dhparam /home/сертификат/dhparam.pem; ssl_certificate /var/сертификат/192.168.1.1.crt; ssl_certificate_key /var/сертификат/192.168.1.1.key; ssl_session_timeout 5m; ##ssl_protocols SSLv3 TLSv1; #ssl_protocols TLSv1.1 TLSv1.2; #для собременных браузеров ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #и для старых браузеров, TLSv1 содержит уязвимость. ##ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=31536000; # максимальный размер загружаемого файла client_max_body_size 2012M; #adminer location ~* ^/adminer/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/adminer/; } #статика owncloud location ~* ^/owncloud/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|apk|mp4|mp3|sh|gz|zip|tar|rar|bz|lz|win|obb)[^?])$ { root /var/www/owncloud; add_header Cache-Control max-age=864000; } # Разруливаем статику и динамку location ~* \.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt|apk|mp4|mp3|sh|gz|zip|tar|rar|bz|lz|win|obb)[^?]$ { root /var/www/html; add_header Cache-Control max-age=864000; } # запрет на доступ к .htaccess location ~ /\.ht { deny all; } # передача запроса апачу location / { proxy_pass http://127.0.0.1:81; # Порт на котором висит Apache proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } } apache будет работать на порту :81 (/etc/apache2/sites-available/000-default.conf) Скрытый текст <VirtualHost localhost:81> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /var/www/html/owncloud/> Options +FollowSymLinks AllowOverride All <IfVersion < 2.3> order allow,deny allow from all </IfVersion> <IfVersion >= 2.3> Require all granted </IfVersion> </Directory> #чтоб работал adminer include /etc/adminer/apache.conf </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet и не забудьте поменять порт в файле /etc/apache2/ports.conf #Listen 80 Listen localhost:81 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet делаем рестарт # service apache2 restart # service nginx restart 7. Посте установки открывает в браузере адрес, входим через "root" и добавляем нового пользователя в mysql https://192.168.1.1/adminer/ или https://192.168.1.1/phpmyadmin/ Создаем через SQL-запрос новую базу данных с названием "owncloud", нового пользователя "owncloud" и пароль "owncloud". Код для ввода в SQL-запрос: CREATE DATABASE `owncloud` COLLATE 'utf8_general_ci'; CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'owncloud'; GRANT ALL PRIVILEGES ON `owncloud`.* TO 'owncloud'@'localhost'; REVOKE ALL PRIVILEGES ON `owncloud`.* FROM 'owncloud'@'localhost'; GRANT ALL PRIVILEGES ON `owncloud`.* TO 'owncloud'@'localhost'WITH GRANT OPTION; Всё. Открываем адрес https://192.168.1.1/owncloud/ ,чтобы появился конфигурационный файл config.php. Добавляем новое значение в файл конфигурации config.php /var/www/owncloud/config/config.php (для owncloud 7 путь /usr/share/owncloud/config/config.php) <?php $CONFIG = array ( ... 'dbname' => 'owncloud', 'dbuser' => 'owncloud', 'dbpassword' => 'owncloud', //это пароль 'dbhost' => 'localhost', ... ); Снова переходим по адресу https://192.168.1.1/owncloud/ и начинаем установку сервиса Owncloud. В поле базы данных указываем базу "owncloud", юзера "owncloud" и пароль "owncloud". Для безопасности войдите в админку mysql и измените пароль пользователя "owncloud". и не забудьте новый пароль прописать в config.php. 8. Ускоряем работу owncloud 9 и owncloud 7. Для owncloud 9: переименовываем /var/www/owncloud/lib/private/legacy/image.php в /var/www/owncloud/lib/private/legacy/image.php_original и закачиваем в /var/www/owncloud/lib/private/legacy/ новый файл image.php Потом переименовываем /var/www/owncloud/lib/private/IntegrityCheck/Checker.php в /var/www/owncloud/lib/private/IntegrityCheck/Checker.php_original и закачиваем в /var/www/owncloud/lib/private/IntegrityCheck/ новый файл Checker.php Для owncloud 7: переименовываем /usr/share/owncloud/lib/private/image.php в /usr/share/owncloud/lib/private/image.php_original и закачиваем в /usr/share/owncloud/lib/private/ новый файл image.php 9. Включаем кэширование добавляем новое значение в файл конфигурации config.php /var/www/owncloud/config/config.php (для owncloud 7 путь /usr/share/owncloud/config/config.php) Скрытый текст <?php $CONFIG = array ( ... 'memcache.local' => '\OC\Memcache\APCu', ); Закончили. Edited June 2, 2017 by edm чуточку обновил текст 5 Quote Link to comment Share on other sites More sharing options...
TheBB Posted April 6, 2017 Share Posted April 6, 2017 т.к. используется система debian, можно ещё допилить безопасность, взяв за основу, напр., Облака — белогривые лошадки... Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 11, 2017 Share Posted August 11, 2017 (edited) Подскажите пожалуйста после добавления строки 'memcache.local' => '\OC\Memcache\APCu', https://192.168.1.1/owncloud/ выдается ошибка Memcache \OC\Memcache\APCu not available for local cache Is the matching PHP module installed and enabled? В чем моя ошибка? Как сменить datadirectory на папку на HDD (NTFS), подключенную ко второму USB Keenetic Giga 2 ? Edited August 11, 2017 by ukr0p Quote Link to comment Share on other sites More sharing options...
edm Posted August 12, 2017 Author Share Posted August 12, 2017 6 часов назад, ukr0p сказал: после добавления строки 'memcache.local' => '\OC\Memcache\APCu', php модуль APCu установить нужно. 6 часов назад, ukr0p сказал: Как сменить datadirectory для начала в терминале дебиан следует монтировать вторую флешку mkdir /f2; #создаем папку mount -t auto /dev/sdb1 /f2; монтируем обрати внимание, что /dev/sdb1 - может быть не это вторая флешка, а sda1 или sdc1. гугл в помощь. если всё ок, то меняй datadirectory путь на /f2 Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 14, 2017 Share Posted August 14, 2017 (edited) Спасибо! В 12.08.2017 в 06:31, edm сказал: php модуль APCu установить нужно. В руководстве об этом не упоминается. Установил. apt-get install php5-apcu service apache2 restart Сгенерировал сертификаты SSL как написано в Вашей инструкции. Установил в win7 rootCA.crt Но браузер продолжает информировать о незазщищенности сайта. Где искать причину? Edited August 14, 2017 by ukr0p Quote Link to comment Share on other sites More sharing options...
edm Posted August 15, 2017 Author Share Posted August 15, 2017 19 часов назад, ukr0p сказал: Сгенерировал сертификаты SSL как написано в Вашей инструкции. Установил в win7 rootCA.crt Но браузер продолжает информировать о незазщищенности сайта. Где искать причину? кстати говоря, хром на андроиде начиная с версии 58.0 тоже игнорит сертификат. Не знаю даже. Но можешь в андроиде проверить rootCA.crt в работоспособности. Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 15, 2017 Share Posted August 15, 2017 (edited) Подключил ко второму USB входу роутера HDD (один раздел ntfs) и через Keenetic giga 2 Сеть windows открыл общий доступ к созданной папке owncloud. Установил пакеты ntfs-3g и cifs-utils в debian 8 Выполнил команды: mount -t cifs -o username=admin,password=blabla //192.168.1.1/owncloud /mnt/f2 mv /var/www/owncloud/data /mnt/f2 mcedit /var/www/owncloud/config/config.php отредактировал datadirectory '/mnt/f2/data', и в результате при переходе 192.168.1.1/owncloud браузер выдает Пробовал chown -R www-data:www-data /mnt/f2/data результата нет. chown -R www-data:www-data /var/www/owncloud/ аналогично. chmod 750 /mnt/f2/data/ аналогично Подскажите пожалуйста в чем возможна ошибка. Edited August 15, 2017 by ukr0p Quote Link to comment Share on other sites More sharing options...
edm Posted August 16, 2017 Author Share Posted August 16, 2017 всё-таки советую монтировать блок mount -t ntfs /dev/sdb1 /путь_до нужной_папки или делаем виртуальное монтирование mount -o bind /mnt/уже_смонтирован_автоматически /путь_до_нужной_папки 4 часа назад, ukr0p сказал: mount -t cifs -o username=admin,password=blabla //192.168.1.1/owncloud /mnt/f2 может быть ошибка в этом? в команде поменяй местами //192.168.1.1/owncloud и /mnt/f2 4 часа назад, ukr0p сказал: mv /var/www/owncloud/data /mnt/f2 и почему удаляешь командой "mv" эти папки? Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 17, 2017 Share Posted August 17, 2017 (edited) Командой mv переношу папку data с флешки на подключенную сетевую папку. Если пытаюсь сделать mount по UUID usb hdd, который подключен ко второму разему KeeneticGiga2 то получаю ошибку. blkid /dev/sda1: LABEL="KINGSTON" UUID="73dfedf3-7d12-d301-60db-edf37d12d301" TYPE="ext4" PARTUUID="4d7e50c1-01" /dev/sdb1: LABEL="MediaStorage" UUID="608014E48014C288" TYPE="ntfs" PARTUUID="000c5445-01" mcedit /etc/fstab UUID="608014E48014C288" /mnt/f2 ntfs rw,nls=utf8,gid=plugdev,umask=0002 0 0 mount -a Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command. Edited August 17, 2017 by ukr0p Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted August 17, 2017 Share Posted August 17, 2017 1 час назад, ukr0p сказал: Командой mv переношу папку data с флешки на подключенную сетевую папку. Если пытаюсь сделать mount по UUID usb hdd, который подключен ко второму разему KeeneticGiga2 то получаю ошибку. blkid /dev/sda1: LABEL="KINGSTON" UUID="73dfedf3-7d12-d301-60db-edf37d12d301" TYPE="ext4" PARTUUID="4d7e50c1-01" /dev/sdb1: LABEL="MediaStorage" UUID="608014E48014C288" TYPE="ntfs" PARTUUID="000c5445-01" mcedit /etc/fstab UUID="608014E48014C288" /mnt/f2 ntfs rw,nls=utf8,gid=plugdev,umask=0002 0 0 mount -a Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command. Так он уже сам при подключении должен автоматически смонтироваться, зачем это еще раз делать? Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 17, 2017 Share Posted August 17, 2017 простите за глупый вопрос, Если он смонтирован, то как обратиться к его папкам? Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted August 17, 2017 Share Posted August 17, 2017 2 минуты назад, ukr0p сказал: простите за глупый вопрос, Если он смонтирован, то как обратиться к его папкам? /tmp/mnt/<ID раздела>/ Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 17, 2017 Share Posted August 17, 2017 (edited) /tmp/mnt нет такого файла или каталога Aug 17 12:48:45ndm Core::Syslog: the system log has been cleared. Aug 17 12:48:57ndm kernel: usb 2-2: USB disconnect, device number 3 Aug 17 12:48:57ndm kernel: sd 1:0:0:0: [sdb] Synchronizing SCSI cache Aug 17 12:48:57ndm kernel: sd 1:0:0:0: [sdb] Result: hostbyte=0x01 driverbyte=0x00 Aug 17 12:48:57ndm FileSystem::Repository: unregistering "608014E48014C288:" filesystem... Aug 17 12:48:57ndm FileSystem::Repository: "608014E48014C288:" filesystem unregistered. Aug 17 12:49:06ndm kernel: usb 2-2: new high-speed USB device number 4 using ehci-platform Aug 17 12:49:06ndm kernel: usb 2-2: New USB device found, idVendor=174c, idProduct=5106 Aug 17 12:49:06ndm kernel: usb 2-2: Product: StoreJet Transcend Aug 17 12:49:06ndm kernel: usb 2-2: Manufacturer: StoreJet Transcend Aug 17 12:49:06ndm kernel: usb 2-2: SerialNumber: S2RUJ9BDB07174 Aug 17 12:49:06ndm kernel: scsi2 : usb-storage 2-2:1.0 Aug 17 12:49:09ndm kernel: scsi 2:0:0:0: Direct-Access StoreJet Transcend 0 PQ: 0 ANSI: 6 Aug 17 12:49:09ndm kernel: sd 2:0:0:0: Attached scsi generic sg1 type 0 Aug 17 12:49:09ndm kernel: sd 2:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB) Aug 17 12:49:09ndm kernel: sd 2:0:0:0: [sdb] Write Protect is off Aug 17 12:49:09ndm kernel: sd 2:0:0:0: [sdb] Mode Sense: 43 00 00 00 Aug 17 12:49:09ndm kernel: sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Aug 17 12:49:09ndm kernel: sdb: sdb1 Aug 17 12:49:09ndm kernel: sd 2:0:0:0: [sdb] Attached SCSI disk Aug 17 12:49:09ndm FileSystem::Ext: "/dev/sdb" has an unknown partition type, ignored. Aug 17 12:49:09ndm FileSystem::Ext: ntfs "608014E48014C288:": filesystem initialized. Aug 17 12:49:09ndm kernel: tntfs info (device sdb1, pid 8678): ntfs_fill_super(): fail_safe is enabled. Aug 17 12:49:09ndm kernel: tntfs info (device sdb1, pid 8678): load_system_files(): NTFS volume name 'MediaStorage', version 3.1 (cluster_size 4096, PAGE_SIZE 4096). Aug 17 12:49:10ndm FileSystem::Repository: "608014E48014C288:" registered. Edited August 17, 2017 by ukr0p Quote Link to comment Share on other sites More sharing options...
edm Posted August 18, 2017 Author Share Posted August 18, 2017 17 часов назад, ukr0p сказал: /tmp/mnt нет такого файла или каталога в debian нет. а вот в entware есть. поэтому и надо монтировать в дебиан тоже. либо через mount -o bind, либо другим способом Quote Link to comment Share on other sites More sharing options...
ukr0p Posted August 18, 2017 Share Posted August 18, 2017 mount --bind работает только с папками. А под debian 8 я могу обращаться к HDD на USB №2 только /dev/sdb1/ либо UUID. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.