Ответы пользователя по тегу Linux
  • LAMP или не LAMP вот в чем вопрос?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    И еще, кажется сейчас куда популярнее nginx в качестве сервера. Почему LAMP тогда не включает его?
    Это всё дешевый маркетинг. Безусловно, nginx быстрее в ряде случаев, но это не значит, что он быстрее в 100% случаев. На малой нагрузке и при отсутствии гигабайтных файлов скачиваемых пользователями на скорости 64Кбит/сек., массово - Apache выдаёт вполне себе хорошие скорости, очень даже сравнимые с Nginx.

    Apache "медленнее" не в 100 раз, а обычно в 1.5-2.5 раза (среднестатистические данные, понятно, что показатели могут сильно разниться в зависимости от тестов). И обычно эта "медленность" проявляется на действительно неплохих нагрузках. Я бы даже сказал так, Nginx скорее более устойчив при высоких нагрузках атаках аки DDoS, чем Apache, т.к. потребляет меньше ресурсов в виду особенностей своей архитектуры. Но, стоит понимать, что веб-сервер - это далеко не всё, что может потреблять ресурсы сервера, и от безграмотной настройки никакой конкретный сервер не спасёт.

    Apache - куда проще конфигурировать хотя бы по тому, что он имеет механизм ".htaccess", Вы представляете разницу (логически) между "скопировать 3 строчки и вставить их в .htaccess" и "переписать кусок конфига nginx"? Когда Вы делаете это систематически и когда сервер Ваш - проблем нет. А когда пользователю приходится приходится это делать не часто, и тем более на каком-нибудь виртуальном хостинге - апач решение сразу нескольких проблем.

    Настройка связки Apache + одна версия PHP, ощутимо проще для не очень опытного администратора, чем аналогичная связка PHP+Nginx. Но, Вы же понимаете, что люди хорошо разбирающиеся в настройках сервера обычно пытаются сделать что-то вроде apt install lamp

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

    Из Apache гораздо проще выпилить ненужные модули или включить нужные. Nginx в большинстве случаев, нужно будет пересобрать целиком, из исходного кода (да, я знаю про механизм подключаемых модулей, но пока что, это не панацея и даже не близко).

    Не редко, Apache "прячется" за Nginx.

    P.S. Что использую я? В основном Nginx, по тому, что я к нему привык, по тому, что сервера обычно свои и "железные", по тому, что на его особенностях завязана структура пары крупных приложений, по тому, что с ним без особых проблем получилось прикрутить несколько версий PHP и всякой другой ерунды (так сложилось исторически), по тому, что я собираю его из исходников в более чем половине случаев... и т.д. Но, не нужно списывать Apache со счетов только по тому, что Вы где-то начитались, что "Nginx быстрее". Оба сервера имеют полное право на существование, и у обоих есть свои как сильные, так и слабые стороны. Не нужно пытаться оптимизировать сайт по нагрузке, если его посещают 30 человек в месяц.

    LAMP или не LAMP вот в чем вопрос?

    Я не знаю, как ставиться LAMP и есть ли команда установки именно "LAMP"a, но Вам ничего не мешает набрать в консоли что-то типа "apt install apache php mysql" (условно) и поставить всё ровным счётом то же самое, что и ставит LAMP, или "apt install nginx php mysql" и поставить ровно то же, только с Nginx'ом вместо Apache'а.

    UPD. Есть ещё Varnish, так на вскидку, в 70% проектов он будет выдавать просто феерическую производительность, особенно при ооочень тонкой его настройке, достаточном кол-ве памяти и т.д.. Я думаю, он даже в связке с Apache+PHP будет показывать куда большую производительность, чем "голый" Nginx+PHP, т.к. будет "выплёвывать" страницы целиком, из кэша, даже не обращаясь к бэкэнду (вернее, делая это не часто). Но, это не говорит о том, что нужно срочно всем собраться и бегом побежать ставить Varnish на каждый 2-й сайт с Wordpress'ом и посещаемостью 100 человек в год.
    Ответ написан
    4 комментария
  • Почему не удаётся войти под root MySQL пользователем в PHPMyAdmin?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Возможно в том, что соотв. записи разрешающей вход - в базе нет. Можно попробовать из под рута запустить mysql-клиент (в консонли). Такой подход работает с MariaDB, с MySQL'ом возможно тоже прокатит.

    И посмотреть потом, кому с какого хоста можно заходить. База: mysql, таблица: user. Пример.
    Ответ написан
  • Насколько безопасно использовать LXC контейнеры для разнообразных задач на сервере?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Насколько безопасно и целесообразно использование LXC контейнеров для разнообразных задач.

    Возможно ли каким-то образом получив доступ к консоли контейнера, получить доступ к хост-машине?

    Я думаю, что чисто гипотетически - могут существовать подобные баги в системе, но на практике - Вам о них вряд ли кто-то расскажет.

    К примеру, если разместить все сервисы по разным контейнерам и пробросить порты через iptables, задав некоторые правила.
    Для этого, если мне память не изменяет, есть Docker.

    Как по мне, можно делать регулярные бэкапы контейнеров и при отклонении в мониторинге или конкретной атаке, просто
    Можно, но с этим не редко возникают проблемы. Например, что бы сделать бэкап БД без контейнера - достаточно запустить утилиту для создания бэкапов БД. Что бы сделать бэкап базы вместе с контейнером - нужно будет остановить контейнер, сделать его полный бэкап и запустить снова... А если у Вас там ещё и ZFS будет - то это ещё целый слой потенциальных проблем.
    Ответ написан
    6 комментариев
  • Возможно ли собрать пакет из исходников?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    1.
    /bin /sbin
    Насколько я помню, там лежат программы необходимые, для того, что бы система загрузилась и нормально функционировала.

    2. Пропущу этот пункт, т.к. ответ и "да" и "нет", довольно сложно сказать "глобально". Но в большей степени Вы правы.

    3. Там хранятся постоянно изменяющиеся файлы, например, базы данных. Сокращение от слово "variable". Но это всё так же формальности, не редко эти же данные могут храниться в абсолютно неожиданно месте. В т.ч. там могут храниться виртуальные машины например, степень "изменяемости" которых, определить довольно сложно. И т.д.

    ? Пользуются ли ей все программы: системные и пользовательские?

    Все - нет, некоторые - определённо пользуются.

    4) Как организовать программу и понять, что отнести в папку /bin | /lib | /share | /local/

    /bin - мы уже обсуждали выше, скорее всего, туда вносить ничего не нужно.
    /lib - там хранятся "разделяемые библиотеки", аля .DLL в виндовсе, причем, там хранятся библиотеки которые уже предоставляет система, по этому, в Вашем случае, туда скорее всего вносить ничего не нужно.
    /share - разделяемые документы/файлы/etc., например, обои по умолчанию, доступные всем пользователям.
    /local и /usr/local - там могут быть как просто программы, не входящие в состав дистрибутива, так и целая файловая система, в т.ч. свой /bin /var и так далее. Когда Вы собираете программу из исходного кода, обычно она заселяется именно туда.

    5) Возможно ли собрать пакет из исходников, если нету никаких файлов "makefile", а лежат голый директории с файлами? В архиве\гитхабе.

    Возможно конечно. Что бы этому процессу на Ваш взгляд могло помешать?

    P.S. Файловая система линуксе, хоть и стандартизирована, но стандарт действует на уровне "рекомендации", и не редко, можно встретить довольно ощутимые различия в логике примерно всего, от именования пакетов до того, как и куда эти пакеты устанавливаются, и какие каталоги используют. Более того, как я уже писал выше, не редко, программы собираемые из исходного кода, создают/используют свою файловую систему в /usr/local.

    Стандарт FHS - рекомендую Вам с ним ознакомиться, но опять таки, не забывайте, что мало какие дистрибутивы и тем более производители ПО/пакетов для этих дистрибутивов, придерживаются этих правил на 100%.
    Ответ написан
    Комментировать
  • Как поставить патч?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли какой-нибудь мануал?

    Мануал по чему именно Вас интересует?

    Как поставить патч - описано тут или тут или тут или вот тут.
    Ответ написан
    Комментировать
  • Как установить SQLLITE на CENTOS?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Я думаю, это должно помочь.
    Ответ написан
  • Как перезапустить фтп-сервер в Дебиане??

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Может кто подскажет - как можно ребутнуть "службу" фтп сервера, или хотя б сам сервак??

    Это по сути своей одно и то же, то, что Вы обозначили как "служба", при её перезапуске, перезапускает сам сервер (*тут я имел в виду, FTP-сервер, но потом понял, что в вопросе имелся в виду "целиком сервер с линуксом"). Сама "служба", в 99% случаев есть просто скрипт инициализации.

    Выяснил, что версия линукса Debian 6.0.10 squeeze.

    Насколько я помню, идея пихать в систему sudo принадлежит Ubuntu'ам, и в debian'е его по умолчанию нет (тут не ручаюсь за достоверность информации, но это не очень важно). По крайней мере в 6-ке не помню, что бы он "из коробки" ставился.

    reboot или shutdown хотят права суперюзера - но когда ввожу sudo - выдает not found. Вообще не догоняю как перегрузить службу или сервер.

    Если хочется sudo - можно написать apt-get install sudo, и он появиться.

    Перезапуск самого сервера, это serivce имя_службы restart или /etc/init.d/имя_службы restart

    Но и то, и другое (и apt-get и рестарт "службы") так же требуют прав администратора (root). Посмотрите в панели управления (там где сервер покупали/оплачивали), там должна быть кнопка "перезапуск сервера".
    Ответ написан
    6 комментариев
  • Можно ли скопировать базу Mongo с удаленного сервера?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Очевидно, что если у Вас есть доступ к данным, то Вы можете их скопировать себе.

    Информации по теме - просто прорва, например вот, оптимально при наличии доступа "через консоль".
    Ответ написан
    Комментировать
  • Как сохранять бэкапы на сервер через консоль?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Довольно сложно отвечать в режиме "слепой глухому", т.к. не совсем понятно, что именно у Вас не получается... но, давайте попробую.

    Нужно скидывать архив через SSH на сервер (при этом не хочется каждый раз вводить пароль), всегда в определенную папку будет отправляться /mnt/backupftp/$sitename - название $sitename динамичное, оно подставляется в зависимости от команды: sitestop sitename, которой собственно и запускается скрипт.

    Что бы не вводить пароль - используйте авторизацию по ключу. Информации на эту тему, просто прорва, например вот (первая попавшаяся ссылка).

    Если название $sitename - уже передано в скрипт, не вижу ни одной проблемы с тем, что бы его использовать.

    При этом не хочется из папки архивов делать помойку, нужно чтобы в папке каждого сайта хранилось не более 3 резервных копий, то есть старые файлы нужно как-то затирать, если записывается уже 4-й архив.
    После подключения по SSH - считаете кол-во файлов в папке, можно их так же предварительно отсортировать в прямом или обратном порядке по датам, а потом удалить все файлы по списку, чей индекс в массиве больше/меньше 2 или 3.

    Потом просто загружаете Ваш файл туда...
    Ответ написан
    Комментировать
  • Как в php скрипте определить, что его запустил Cron?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Передать ему входной параметр, например -cron.
    Ответ написан
    Комментировать
  • Как создать виртуальный диск на Linux?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть виртуальная машина Ubuntu в VirtualBox.
    вопрос - как создать на ней виртуальный диск? или он уже где-то есть?

    Если Ubuntu'а откуда-то запускается, в установленном виде (не LiveCD), значит, она где-то установлена. А если так, значит, какой-то диск, на котором она стоит, очевидно есть?

    Если Вам нужно целиком операционную систему, вместе с настройками и пр. лабудой скопировать - обычно это делается через специализированное ПО, например dump.

    В зависимости от формата, в котором диск создан - с ним могут работать разные программы. Какой-то из форматов (точно не подскажу, но найти не сложно), поддерживается даже самим Windows'ом, нативно.
    Ответ написан
    6 комментариев
  • Как узнать внешний ip?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    1. Обратиться в поддержку провайдера и купить него внешний/"Белый IP", или получить подробности по этой теме.
    2. Вывести ноутбук в DMZ (демилитаризованная зона) и/или настроить на роутере переадресацию всех входящих соединений на 80-ый порт на IP'шник ноутбука. 99% роутеров работают в режиме NAT, благодаря которому, пакеты из вне, самостоятельно не могут (в основном не могут) достигнуть получателя, если он сам не инициировал соединение. По другому это ещё может называться "проброс портов". Инстуркции можно найти в руководстве к роутеру.

    P.S. Порядок действий именно такой.

    P.P.S. Если IP уже белый, но динамический - можно воспользоваться сервисами типа тех, что описываются например здесь.
    Ответ написан
    Комментировать
  • Как подключиться по RDP по локальной сети к Centos 6?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Для Linux'ов насколько я помню есть VNC (и несколько программ его реализующие), кстати, для Windows'ов, по моему, тоже есть VNC. Реализации RDP под линукс не встречал (или не помню).

    Про VNC можно почитать тут.
    Ответ написан
  • Нужно реализовать одну стартовую страницу в полноэкранном режиме. Как?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Это называется "kiosk mode", в интернете валом информации как на эту тему в целом там и готовых браузеров, заточенных под такой режим работы, выбирайте любой, на Ваш вкус.

    Например, вот с форума варианты:
    /usr/bin/chromium-browser %U --kiosk http://www.google.com

    или
    правильный ключ --enable-kiosk-mode
    Ответ написан
    Комментировать
  • PHP 7: не удаётся подключиться к FTP-серверу извне. В чём неправ?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Неплохо бы увидеть лог с ошибками сервера или непосредственно скрипта...

    Если же указываю в качестве адреса 192.168.0.1 или 127.0.0.1, то прекрасно заходит. В PHP5-FPM подключалось. В чём может быть дело?

    Скорее всего, дело в том, что либо "адрес вроде myftpsite.com" не указывается на IP: 192.168.0.1 или 127.0.0.1, либо, скрипт не может сопоставить адрес с IP'шником. Проверить это Вы можете открыв командную строку и написав туда следующую команду:
    ping myftpsite.com

    Если увидите, что пинг пытается обратится на IP 192.168.01 или 127.0.0.1 - значит, скрипт не может сопоставить домен с адресом. Если же там будет какой-то другой IP - то, Вы пытаетесь подключиться не к тому ФТП-серверу, который расположен по адресу 192.168.0.1. Что бы локально прописать сопоставление адреса (домена) IP'шнику - можно отредактировать файл C:\Windows\System32\drivers\etc\hosts
    Ответ написан
    Комментировать