Systemd - менеджер управления службами в Linux - система инициализации. Система инициализации — это система в Linux, которая подготавливает к работе операционную систему, запускается ядром как первый процесс в операционной системе. И уже затем, этот первый процесс, запускает все остальные процессы. Также при выключении система инициализации занимается остановкой всех процессов. Подробнее: https://sysadminium.ru/adm-serv-linux-systemd-init-system/ )
Systemctl - команда для управления Systemd
Команда включает автозапуск службы apache:
systemctl enable apache2
Подробнее тут: https://www.dmosk.ru/miniinstruktions.php?mini=systemctl
Systemd - система инициализации по умолчанию в Linux с 2010 года. В некоторых ОС при использовании команды systemctl все еще может возникать ошибка systemctl is not installed. Это значит, что на вашей машине установлена другая система инициализации. Но сменить её на systemd несложно. Первое, что нужно сделать — установить пакет systemd:
sudo apt-get install systemd
Затем в настройках ядра Linux нужно прописать использование systemd. Для этого откроем файл с настройками загрузчика GRUB:
sudo nano /etc/default/grub
и добавим в настройку GRUB_CMDLINE_LINUX_DEFAULT опцию init=/lib/systemd/systemd.
Чтобы применить изменения нужно сгенерировать новый файл конфигурации grub и перезапустить систему:
sudo update-grub
sudo shutdown -r now
Источник: https://timeweb.cloud/tutorials/linux/kak-ispolzovat-systemctl-dlya-upravleniya-sluzhbami-systemd
Например, с помощью скрипта можно настроить автозапуск apache2, nginx, zram и другое. Для этого в файле rc.local необходимо прописать команды запуска
1) Узнаем, где лежит скрипт запуска. В случае с apache Для запуска демона httpd лучше всего использовать скрипт apachectl. Этот скрипт устанавливает ряд переменных окружения, необходимых для правильной работы сервера под некоторыми операционными системами, а затем запускает исполняемый файл httpd (Источник: https://httpd.apache.org/docs/2.2/ru/invoking.html ).
~# which apache2ctl
/usr/sbin/apache2ctl
2) Прописываем его в файле /etc/rc.local с флагом -k, необходимым для запуска, остановки (подробнее: https://httpd.apache.org/docs/2.4/programs/httpd.html)
~# nano /etc/rc.local
/usr/sbin/apache2ctl -k start
Детальная инструкция по применению скрипта rc.local тут: https://azrr.info/page/view/65-zastavlyaem-rabotat-rclocal-na-debian-10.html
Вместо /usr/sbin/apache2ctl -k start можно прописать /usr/sbin/apache2 start или /etc/init.d/apache2 start, где /etc/init.d/apache2 - скрипт, который запускает исполняемый бинарный файл /usr/sbin/apache2.
Обращаем Ваше внимание, что rc.local - это старый метод автозапуска. Скрипты init.d заменил systemd. Поэтому лучше использовать Вариант1- systemctl для управления службами Systemd.
CISHost - c нами Вы познаете дзен!