Necesito hacer lo mismo.
Aquí se explica cómo iniciar el subsistema Ubuntu Linux con todos los servicios de cron en el inicio de Windows y proporcionar un medio para 'reiniciar' el subsistema Linux.
Estoy alojando con éxito la base de datos openssh-server, nginx y mariadb en nuestro servidor.
Instalar subsistema Linux
Eliminar solicitud de contraseña de sudo (requerido)
Habilitar inicio de sesión con contraseña SSH (opcional)
Inicio de sesión automático de Windows al inicio (requerido si tiene una contraseña o RDP)
Ejecute bash / cron loop al inicio
Agregue aplicaciones / servicios al inicio en cron
- Fiesta abierta
sudo crontab -e
- Seleccione nano (o cualquier editor que sepa cómo guardar)
Agregue aplicaciones de inicio como 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
Guardar y salir:, ctrlxluego presione yy enter.
Reinicie el subsistema Linux sin reiniciar Windows
Extra: instale PHP 7.1 (no tan sencillo)
Ejecute los siguientes comandos para una configuración bastante estándar:
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
Ejecute el siguiente comando para una configuración 'OwnCloud':
PHPV=7.1 && apt install --allow-unauthenticated -y php${PHPV}-redis redis-server php${PHPV}-ldap php${PHPV}-smbclient
Extra - Instalar el servidor web nginx
Ejecute los siguientes comandos para una configuración base con 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 - Instalar la base de datos mysql de mariadb
Ejecute los siguientes comandos para un servidor de base de datos 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
Cuando se le solicite, configure una contraseña de usuario de la base de datos raíz.