Мне нужно было сделать то же самое.
Вот как можно загрузить подсистему Ubuntu Linux со всеми службами cron при загрузке Windows и предоставить средства для «перезагрузки» подсистемы Linux.
Я успешно размещаю на нашем сервере базу данных openssh-server, nginx & mariadb.
Установить подсистему Linux
Удалить запрос пароля sudo (обязательно)
Включить вход по паролю SSH (необязательно)
Автозапуск Windows при запуске (требуется, если у вас есть пароль или RDP)
Запустите цикл bash/cron при запуске
Добавить приложения / сервисы для запуска на cron
- Открыть баш
sudo crontab -e
- Выберите nano (или любой редактор, который вы знаете, как сохранить)
Добавьте загрузочные приложения, такие как openssh-server, nginx, mysql, php:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot . $HOME/.profile; /usr/sbin/sshd -D
#@reboot . $HOME/.profile; service php7.1-fpm start # Uncomment for php7.1 fpm
#@reboot . $HOME/.profile; service mysql start # Uncomment for mysql/mariadb
#@reboot . $HOME/.profile; service nginx start # Uncomment for nginx
Сохранить и выйти: Ctrl x, затем нажмите y и введите.
Перезагрузите подсистему Linux без перезагрузки Windows
Extra - Установить PHP 7.1 (не совсем так просто)
Запустите команды ниже для довольно стандартной установки:
mkdir /run/php && chmod -R 777 /run/php
sudo add-apt-repository ppa:ondrej/php && sudo apt update
PHPV=7.1 && sudo apt install --allow-unauthenticated -y php${PHPV}-fpm php${PHPV}-gd php${PHPV}-json php${PHPV}-mysqlnd php${PHPV}-curl php${PHPV}-intl php${PHPV}-mcrypt php${PHPV}-imagick php${PHPV}-zip php${PHPV}-xml php${PHPV}-mbstring
Запустите команду ниже для установки «OwnCloud»:
PHPV=7.1 && apt install --allow-unauthenticated -y php${PHPV}-redis redis-server php${PHPV}-ldap php${PHPV}-smbclient
Extra - Установите веб-сервер nginx
Запустите команды ниже для базовой установки с PHP7.1:
sudo add-apt-repository ppa:nginx/stable
sudo apt update && sudo apt -y install nginx
sudo sed -i 's:access_log /var/log/nginx/access.log;:access_log off;:g' /etc/nginx/nginx.conf
sudo sed -i '/index index.html/c\\tindex index.html index.php index.htm index.nginx-debian.html;' /etc/nginx/sites-available/default
STR='}\n\n\tlocation ~ \.php$ {\n\t\tinclude snippets\/fastcgi-php.conf;\n\t\tfastcgi_pass unix:\/var\/run\/php\/php7.1-fpm.sock;\n\t}'
sudo sed -i "0,/}/s//$STR\n/" /etc/nginx/sites-available/default
sudo service nginx restart
Extra - установить базу данных mysql от mariadb
Выполните команды ниже для сервера базы данных mysql:
RELEASE=`lsb_release -a | tail -1 | cut -f2`
sudo apt install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository "deb [arch=i386,amd64,ppc64el] https://mirrors.evowise.com/mariadb/repo/10.3/ubuntu $RELEASE main"
sudo apt update && sudo apt --allow-unauthenticated -y install mariadb-server
При появлении запроса установите пароль пользователя корневой базы данных.