Linux
Прості корисні поради для користувачів Linux
- 3 хв читання
Базові команди Linux
pwd – відображає інформацію про поточне розташування у файловій системі (шлях до каталогу (папки), в якій ви знаходитесь);
dir, ls – показує список файлів і папок у поточному каталозі;
cd – (змінити поточний каталог) дозволяє перейти до іншої папки;
Приклад:
cd ../ - will move to a folder on a higher level;cd foo - will go to the child folder "foo";cd /var - will go to the "var" folder located in the root of the file system;
touch fine_name – створити новий файл з назвою "fine_name";
mkdir dir_name – створити нову папку "dir_name" у поточному каталозі;
rm file_name - видалити файл "file_name";
rm -r dir_name - видалити папку "dir_name";
cp origin_name new_name - копіювати файли та папки;
mv old_name new_name - переміщувати файли та папки;
ln -s origin_name link_name - створити символічне посилання;
Пошук за вмістом
Щоб знайти файл за вмістом , скористайтеся цією командою:
grep -rnw 'path' -e 'some text'
Використовуйте модифікатор l , щоб відобразити лише список відповіднихihor
- 2 хв читання
ВІДМОВА ВІД ВІДПОВІДАЛЬНОСТІ: стаття написана програмістом PHP, який вирішує в перші роки ночі побути в ролі DevOps.Попередня конфігурація: Ubuntu 16.04, Apache2
Буває, що на одному і тому ж веб-сервері працюють відразу кілька веб-сайтів, і кожному з них потрібна певна версія PHP. За допомогою apache mod PHP можна одночасно використати лише одну версію PHP для всіх сайтів.
Ми покажемо як одночасно використовувати:
- php5.6 для веб-сайту http://php56.loc із встановленою Magento 1.7 - php7.2 для веб-сайту http://php72.loc із встановленою Magento 2.3.0.
Для вирішення цієї проблеми необхідно налаштувати PHP-FPM.
1. Встановіть PHP5.6 та PHP-FPM5.6
sudo apt install libapache2-mod-fastcgi php5.6-fpm php5.6 libapache2-mod-php5.6 php5.6-curl php5.6-intl php5.6-zip php5.6-soap php5.6-xml php5.6-mysqli php5.6-gd php5.6-mcrypt php5.6-mbstring php5.6-bcmath php5.6-pdo php5.6-xml php5.6-mysql
2. Встановіть PHP7.2 та PHP-FPM7.2
sudo apt install libapache2-mod-fastcgi php7.2-fpm php7.2ihor
- 1 хв читання
Remove DEFINER from MySQL Dumps
Якщо при імпорті бази даних ви зіткнулися з помилкою
ERROR 1227 (42000) at line xxx: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
і в той же час в стрічці ххх дампу ви можете бачити ось такий код
/*!50017 */
Вам потрібно видалити DEFINER. Найлегше це зробити двома способами.
1) Зробити новий дамп бази даних з параметром --skip-definer і імпортувати його. Приклад:
mysqldump --skip-definer ...
2) Видалити DEFINER з поточного дампу. Для цього виконайте команду:
sed 's/\sDEFINER=`[^`]*`@`[^`]*`//g' -i mydump.sql
Remove DEFINER clause from MySQL Dumps
- 2 хв читання
Використовуйте для генерації безкоштовного робочого сертифікату Давайте зашифруємо. Сервіс, який дозволяє генерувати сертифікати SSL за допомогою автоматичного API.
Усі приклади і команди відображаються на базі Ubuntu 16.04. Домен, для якого потрібно згенерувати сертифікат, має бути закріпленим (зазначеним) за поточним сервером Linux.
Виконайте наступні кроки, щоб згенерувати та підключити сертифікат:
1. Встановіть Certbot:
sudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install certbot
2. Certbot повинен відповісти на криптографічний запит, який надсилає «Let's Encrypt API», щоб повідомити, що ви контролюєте домен. Відкрийте потр 80 (HTTP) або 443 (HTTPS) у вашому брендмауері. Виконайте команду:
sudo ufw allow 80
Якщо команда ufw недоступна, встановіть її:
sudo apt-get install ufw
3. Запустіть Certbot:
sudo certbot certonly --standalone --preferred-challenges http -d example.com
де example.com - назва вашого домену.
У результаті виконання командиihor
- 1 хв читання
Для того, щоб мати можливість швидко видалити відруальні хости (домени) на базі розмірів Linux+Apache+MySql+PHP, встановіть Сценарій керування віртуальним хостом.
Відкрийте CLI (командний рядок, термінал). Виконайте команди:
cd /usr/local/bin/sudo wget https://raw.githubusercontent.com/RoverWire/virtualhost/master/virtualhost.shsudo chmod +x virtualhost.shsudo ln -s virtualhost.sh virtualhost
Тепер вам доступна команда virtualhost:
virtualhost [create | delete] [domain] [optional host_dir]
Щоб додати новий віртуальний хост, виконайте:
virtualhost create mydomain.com
Щоб видалити віртуальний хост, виконайте:
virtualhost delete mydomain.com