Архив рубрики: Linux

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

Установка PHP в Ubuntu

PHP - это очень популярный скриптовый язык программирования с открытым исходным кодом, который часто используется для разработки веб-сайтов и веб-приложений. PHP означает рекурсивный акроним от PHP Hypertext Processor. Скрипты выполняются на стороне сервера и могут находиться как в отдельных файлах, так и быть встроенными в HTML.

На данный момент официально поддерживается три версии PHP - это 5.6, 7.4 и 8. Предыдущие версии больше не получают обновлений безопасности. В этой статье мы рассмотрим как выполняется установка PHP Ubuntu. Будем устанавливать только поддерживаемые версии. Кроме того, рассмотрим как установить расширения для Apache, а также изменить версию по умолчанию.
Читать далее Установка PHP в Ubuntu

Лучшие программы для Raspberry Pi

Raspberry Pi — это недорогой одноплатный компьютер, который создавался преимущественно для программирования и обучения, с использованием наглядных примеров за счёт интерфейса GPIO.

Но этот мини-компьютер способен выполнять и другие задачи. Мы рассмотрим несколько сценариев использования Raspberry Pi на примере дистрибутива Raspberry Pi OS. В этой подборке собраны лучшие программы для Raspberry Pi, которые хорошо подходят для этого миникомпьютера.

Читать далее Лучшие программы для Raspberry Pi

Ошибка bash permission denied

Многие новички пытаются выполнить запись определенных значений в системные файлы с помощью операторов перенаправления ввода и вывода и получают ошибку bash permission denied. Эта ошибка выводится, даже если вы использовали sudo.

Казалось бы, sudo есть, значит права суперпользователя получены и все должно работать но тут все не так просто. В этой статье мы рассмотрим почему возникает ошибка bash permission denied и как ее обойти.
Читать далее Ошибка bash permission denied

Настройка Nginx

Веб-сервер Nginx - это один из самых популярных веб-серверов с очень высокой производительностью и быстрой обработкой статических запросов от пользователей. При правильной настройке можно добиться очень высокой производительности от этого веб-сервера. Nginx очень быстро справляется со статическими файлами, будь то html страницы или другие виды ресурсов.

В одной из предыдущих статей мы уже рассматривали установку Nginx в Ubuntu и настройку его основных параметров, в этой же статье я хочу больше остановиться на производительности и подготовке веб-сервера к использованию в боевых условиях. Что касается дистрибутива Linux, то сегодня мы будем рассматривать CentOS, эта система часто используется на серверах и с настройкой Nginx тут могут возникнуть некоторые сложности. Дальше будет рассмотрена настройка Nginx CentOS, поговорим как включить полную поддержку http2, google pagespeed, и настроить основной конфигурационный файл.
Читать далее Настройка Nginx

Настройка сети Debian 9

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

В этой статье будет рассмотрена настройка сети Debian 9. Мы разберем как настроить имя хоста, сетевые интерфейсы и получить IP адреса для них. Эта инструкция подойдет как для обычных компьютеров, так и для серверов.
Читать далее Настройка сети Debian 9

Ошибка белый экран WordPress

Если у вас есть свой сайт на WordPress и вы делаете его достаточно давно, то вы однозначно хоть раз видели белый экран смерти Wordress. Это очень неприятная вещь. Вы пытаетесь открыть любую страницу сайта, а в ответ видите только белый экран, он может быть как на абсолютно всех страницах сайта, в админ панели и так далее. Самое плохое здесь, это то, что непонятно что делать и как решить проблему.

В этой статье мы рассмотрим что такое белый экран WordPress, почему он появляется и как исправить ошибку. А исправлять ее нужно быстро, особенно если это популярный сайт в публичном доступе.

Что такое белый экран смерти?

Этот экран получил свое название из-за другого экрана, который, наверное, все помнят:

В некоторых отношениях синий экран Microsoft и белый экран WordPress похожи между собой. Оба они говорят о том, что что-то пошло не так, но на экране WordPress не отображаются ошибки. Видимо ошибка произошла на раннем этапе генерации страницы, она еще не загрузилась и соответственно выведена не будет. Вывод ошибок на экран в WordPress по умолчанию отключен, чтобы ваши пользователи не увидели ничего лишнего.

Вызвать появление белого экрана WordPress могут различные факторы, вот некоторые из ник:

  • Вы обновляли WordPress и обновление было завершено некорректно;
  • Ошибку вызывает установленный плагин;
  • Ошибку вызывает установленная тема;
  • Ошибка работы с базой данных;
  • Проблемы с кэшированием страниц.

Вы знаете причины проблем, а теперь давайте рассмотрим более подробно как выйти из подобной ситуации.

Как исправить белый экран WordPress?

В идеале нам бы был очень кстати полный ssh доступ к серверу, на котором размещен сайт, но если его нет, то вам будет достаточно FTP или же файлового менеджера в веб-интерфейсе. Например, вы можете использовать FTP клиент Filezilla.

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

1. Режим отладки

Если у вас есть доступ по ssh, вы можете открыть файл wp-config.php через терминал, для этого наберите:

vi /var/www/путь/к/сайту/wp-config.php

Также вы можете открыть этот файл через редактор FTP. В нем найдите такую строчку:

define('WP_DEBUG', false);

И замените ее значение на true:

define('WP_DEBUG', true);

Дальше сохраните изменения в файле. Набрав :wq в случае использования vim или другим способом по FTP. Также не помешает включить отображение ошибок php. Если у вас VPS вы можете сделать это через терминал:

vi /etc/php.ini

error_reporting = E_ALL;
display_errors = on;

Сохраните изменения и перезапустите веб-сервер. Если же вы пользуетесь веб-хостинг, то найдете возможность включить отображение ошибок php в панели управления cPanel или DirectAdmin.

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

2. Отключите плагины

После того как посмотрели сообщения об ошибках и ничего не поняли либо там ничего не было, то первым делом нужно отключить плагины, которые были установлены недавно. Если у вас есть доступ к админ панели, иногда бывает и такое, попробуйте открыт адрес wp-admin, то вы это сделать.

Если же доступа к админ интерфейсу нет и там тоже белый экран, то можно предположить, что проблема не в плагине, а отключить плагин можно просто переименовав папку с ним через ftp или ssh. Все плагины Wodpress находятся в папке /путь/к/сайту/wp-content/plugins. Если не помогло отключение новых плагинов, можно отключить все. Можете просто переименовать папку plugins в plugins.old. Затем можете по одному активировать плагины чтобы найти виновного.

3. Выбор стандартной темы

Иногда проблемы может создать тема wordpress, самый простой способ решить эту проблему - это использовать тему по умолчанию. Если вы переименуете папку с текущей темой, WordPress автоматически начнет использовать тему по умолчанию.

Еще один способ изменить тему - модификация базы данных. За тему отвечают поля template и stylesheet, измените их значения на twentyfifteen и система будет использовать тему по умолчанию.

4. Очистка кэша

Кєширование тоже иногда может вызвать такие проблемы, и тогда может даже не помочь включение отладки. Но если вы использовали кэширующий плагин, то проблема будет решена отключением плагинов. Если же нет, то вам нужно очистить кэши. Обратите внимание на такие возможные кэши:

  • кэш веб-сервера Nginx - /var/cache/nginx;
  • кэш fastgci - /var/cache/fastcgi;
  • кэш опкода php;

Отключите кэш опкода, затем очистите папки с другими кэшами если используете их. Это может помочь решить проблему.

5. База данных

На всякий случай проверьте запущена ли база данных и доступна она ли из WordPress. Обычно, когда база данных не работает то вы не увидите белый экран WordPress или админки, а получите соответствующую ошибку.

6. Разрешения для файлов

В Linux очень гибкая система разрешений, она позволяет указать какие пользователи смогут получить доступ и к каким файлам. Это же касается сервисов. Если веб-сервер или интерпретатор php не будет иметь доступа на чтение файлов wordpress, то вы не сможете открыть сайт. Права должны быть такими:

  • Все файлы - 644;
  • Все папки - 744;
  • Файл wp-config.php - 660;

Чтобы установить такие права перейдите в папку с сайтом и наберите:

cd /путь/к/сайту
$ sudo find . -type f -exec chmod 664 {} +
$ sudo find . -type d -exec chmod 775 {} +
$ sudo chmod 660 wp-config.php

Если проблема была в этом, то она решена. Также проверьте не включен ли selinux, это дополнительная система прав, которая тоже может создавать проблемы.

7. Ограничения сервера

Возможно, на создание страницы не хватает оперативной памяти или времени выполнения из-за очень жестких ограничений веб-сервера. Чтобы увеличить количество доступной памяти добавьте такую директиву в wp-config:

define('WP_MEMORY_LIMIT', '64M');

Если это не работает, добавьте такую строку в php.ini:

memory_limit 64M

8. Неудачное обновление

Проблему white screen wordpress может вызвать неудачное обновление, например, из-за таймаута сервера. Проверьте есть ли файл .maintence в корневой папке. Этот файл wordpress создает на период обновления. Если обновление было завершено, но этот файл не удалился, то вы можете его удалить вручную, если же обновление не было выполнено, возможно, вам придется обновить wordpress вручную.

Выводы

В этой статье мы рассмотрели что такое ошибка белый экран wordpress, почему она возникает и как ее решить. Причиной этой ошибки могут стать и другие проблемы, например, вирусное заряжение сайта, проблемы с оборудованием хостинга, ошибка DNS. Но рассмотренные в статье причины встречаются наиболее часто. Если у вас остались вопросы, спрашивайте в комментариях!

Кэширование PHP

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

Веб-сервер Nginx при правильной настройке может отдавать просто огромное количество страниц мгновенно, чего нельзя сказать про PHP на генерацию страницы может уходить до нескольких секунд. Но PHP тоже можно ускорить с помощью кэширования. В этой статье мы рассмотрим как настраивается кэширование php, каким оно бывает и зачем вообще это нужно. Для примера будем использовать связку php-fpm и Nginx, но информация из статьи подойдет и для других вариантов установки.

Читать далее Кэширование PHP

Как пользоваться R-Studio

R-studio - это набор программ для восстановления данных и файлов из жесткого диска. У приложения есть версии, как для Windows и Mac, так и для Linux. Программа платная, но имеет бесплатную версию, и считается одной из лучших программ для восстановления данных.

Программа проводит полный анализ диска и определяет какие файловые системы были на нем до этого, а затем позволяет восстановить файлы из этих файловых систем. Интересно, что можно обнаружить файловые системы, которые были на диске достаточно давно и даже из них восстановить файлы. Мы ранее рассматривали свободные утилиты для восстановления данных Linux, а в этой статье поговорим о том, как пользоваться R-Studio.

Читать далее Как пользоваться R-Studio

Команда tail Linux

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

Для этого можно использовать команду tail, она позволяет выводить заданное количество строк с конца файла, а также выводить новые строки в интерактивном режиме. В этой статье будет рассмотрена команда tail Linux.
Читать далее Команда tail Linux

Ошибка error while loading shared libraries

Новые и опытные пользователи Linux могут сталкиваться с ошибкой error loading shared libraries во время запуска программ, также с ней могут сталкиваться программисты и все желающие компилировать программное обеспечение в своей системе. Эта ошибка в дословном переводе означает что возникла проблема во время загрузки общей библиотеки. О том что такое библиотеки и зачем они нужны вы можете узнать из статьи библиотеки Linux.

В этой же статье мы рассмотрим что значит ошибка error while loading shared libraries более подробно, а главное, как ее решить.

Что означает error while loading shared libraries?

Даже если вы не компилируете свои программы, то вы можете увидеть ошибку error while loading shared libraries: имя_библиотеки: cannot open shared object file: No such file or directory достаточно часто во время установки новых программ не через пакетный менеджер или программ, предназначенных для другого дистрибутива. Как я уже говорил, она возникает потому, что система не может найти библиотеку.

А вот почему ее нельзя найти и загрузить, это уже интересно. Этому может быть несколько причин:

  • Библиотека не установлена в системе;
  • Библиотека установлена, но неизвестно куда;
  • Библиотека установлена правильно, но имеет не ту версию.

При решении проблемы мы будем руководствоваться именно этими причинами и пытаться их решить.

Как исправить ошибку?

1. Библиотека не установлена

Первый вариант, тут все понятно, библиотеки просто нет в системе, поэтому мы и получаем такую ошибку. Верный способ ее решения - просто найти пакет библиотеки с помощью пакетного менеджера и установить ее. Обычно, пакеты с библиотеками называются так же, как и сами библиотеки с префиксом lib.

Например, если нам не хватает библиотеки libfuse2.so, то мы можем найти ее в Ubuntu такой командой:

sudo apt search libfuse2

 

Затем осталось только установить ее:

sudo apt install libfuse2

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

sudo apt install libfuse-dev

И так для любой библиотеки. Но это не всегда помогает.

2. Библиотека находится не в том каталоге

Бывает что библиотека установлена, мы установили ее или она поставлялась вместе с программой, но ошибка как была, так и есть. Причиной этому может быть то, что загрузчик Linux не может найти библиотеку.

Поиск библиотек выполняется по всех папках, которые указаны в конфигурационных файлах /etc/ld.conf.d/. По умолчанию, это такие каталоги, как /usr/lib, /lib, /usr/lib64, /lib64. Если библиотека установлена в другой каталог, то, возможно, это и есть причина проблемы.

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

ldconfig -p

Найти, где находится ваша библиотека можно с помощью команды locate. Например, нас интересует библиотека librtfreader.so:

 locate librtfreader

Теперь мы знаем, что она находится по адресу /opt/kingsoft/wps-office/office6/. А значит, для работы программы необходимо сделать чтобы загрузчик библиотек ее видел. Для этого можно добавить путь в один из файлов /etc/ld.so.conf.d/ или же в переменную LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/opt/kingsoft/wps-office/office6/

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

ln -s /opt/kingsoft/wps-office/office6/librtfreader.so /usr/lib/librtfreader.so

3. Неверная версия библиотеки

Эта причина ошибки довольно часто встречается при использовании программ не для вашего дистрибутива. Каждая библиотека имеет дополнительную версию, так называемую ревизию, которая записывается после расширения .so. Например, libav.so.1. Так вот, номер версии меняется всякий раз, когда в библиотеку вносятся какие-либо исправления.

Часто возникает ситуация, когда в одном дистрибутиве программа собирается с зависимостью от библиотеки, например, libc.so.1, а в другом есть только libc.so.2. Отличия в большинстве случаев здесь небольшие и программа могла бы работать на второй версии библиотеки. Поэтому мы можем просто создать символическую ссылку на нее.

Например, библиотеки libusb-1.0.so.1 нет. Но зато есть libusb-1.0.so.0.1, и мы можем ее использовать:

 

Для этого просто создаем символическую ссылку на библиотеку:

sudo ln -s /usr/lib/libusb-1.0.so.0.1 /usr/lib/libusb-1.0.so.1

В большинстве случаев программа не заметит подмены и будет работать, как и ожидалось. Также для решения этой проблемы можно попытаться найти нужную версию библиотеки в интернете для своей архитектуры и поместить ее в папку /usr/lib/ или /usr/lib64/. Но после этого желательно обновить кэш:

sudo ldconfig

Выводы

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