Сегодня я покажу вам один из первых способов создания лаборатории для программирования и тестирования, который я освоил еще в школьные годы. Этот метод основывается на использовании VirtualBox и его функции "снимков машин". Сейчас доступны более современные инструменты для этих целей, но этот простой способ может оказаться полезным новичкам.
Кстати, перед тем как начать, рекомендую подписаться на мой Telegram-канал, чтобы не пропускать интересные материалы. Заранее спасибо!
Возьмём virtualbox
Возьмём Ubuntu 24.04 LTS
Создадим новую виртуальную машину
Я назову её UbuntuLab
Дам ей немного ресурсов
Немного дискового пространства
В итоге получается так
При запуске виртуальной машины, нужно будет указать скаченный образ диска Ubuntu 24.04
И приступаем к установке
Для моих целей я предпочитаю использовать английскую локализацию, вы конечно можете выбрать Русский, но зачем?
Теперь жмём далее, пока не появится вот такое вот окно
Тут мы установим две галки, для того чтобы в момент установки скачались обновления и жмём далее
На этом окне, если нажать на Advanced features, то можно включить LVM с шифрованием, для моих целей мне этого не нужно
И тут уже нам нужно создать своего пользователя, и придумать ему пароль, так же я советую убрать галку с Require my password to log in, это нужно для того, чтобы при старте системы, когда загрузиться ОС, вам не нужно было бы вводить пароль от своего пользователя
Далее нам нужно выбрать часовой пояс(который определяется автоматически), и нажать на кнопку Install, после чего начнётся установка, и последнее что следует сделать - перезагрузить систему.
После запуска, смотрим приветственный буклетик и система почти готова!
Почти, потому что перед тем как мы создадим первый "снимок системы" мы установим обновления и дополнения гостевой ос.
Для того, чтобы систему обновить, откроем терминал(ctrl+alt+T) и введём команду sudo apt update -y && sudo apt upgrate -y && reboot
После того, как система загрузиться, можно приступить к установке дополнений гостевой ОС, делается это так:
После этого примонтируется диск
Жмём на него иконку и получаем
Нам остаётся нажать Run Software
и ввести свой пароль
Если будет такая ошибка
выполните команду
sudo apt install bzip2 -y
И запустите установщик дополнений гостевой ОС, после как установка будет завершена, отмонтируйте образ с дополнениями гостевой ОС.
Всё, выключаем систему, это будет наш первый "снимок"
Открываем основное меню VirtualBox, находим там свою виртуальную машину, и нажимаем на такую вот иконку рядом с её названием
В выпавшем меню нажимаем на Snapshots
Теперь нужно нажать на иконку Take
Даём название и сохраняем(в описание можно написать что было установлено, т.е. дополнения гостевой ос, и дата обновления системы)
Ну вот и всё, теперь чтобы не происходило, всегда можно будет откатиться к данному снимку и начать сначала.
Продолжим
Но сейчас ещё не виден весь потанциал, который теперь доступен мне. Чтобы понять, давайте сделаем рабочее окружение для разработки на python, а так же запустим NextCloud для тестов. И посмотрим как это будет существовать вместе.
Запустим систему, она будет запущена в Current State(который является дочерним для нашего снимка, Clear. Всё что будет происходить тут, ни как не повлияет на Clear)
Если вы читая статью, ни чего не знаете про VirtualBox и ваше знакомство с этим инструментом случилось тут, тогда я покажу вам для чего мы устанавливали дополнения гостевой ос.
Нажимаем на кнопку Devices
И делаем вот так вот
Что это даёт? Теперь вы можете копировать какой-то текст из своей локальной системы, и вставлять его в своей виртуальной машине. Так же это работает в обратном направлении.
Это вам пригодиться для того, чтобы например копировать длинные команды, а не переписывать их вручную, так же вы можете написать какой-то код и захотите протестировать его в виртуальной машине, вам не придётся переписывать свой код вручную! МастХевФункция!
первым делом установим pip3, git, venv
sudo apt install python3-pip python3-venv git -y
и установим Visual Studio Code, вы можете зайти на оффициальный сайт или же выполнить команду
cd ~/Downloads && wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/4437686ffebaf200fa4a6e6e67f735f3edf24ada/code_1.99.0-1743632463_amd64.deb && sudo dpkg -i code_1.99.0-1743632463_amd64.deb
Но учитывайте, что вы можете читать статью задолго как она вышла, и возможно уже есть новые версии программы. Я бы советовал вам скачать её вручную.
Теперь нужно открыть VScode и установить дополнения для разработке на python
Когда дополнения будут установлены, выключаем систему и возвращаемся к основному окну virtualbox, в закладку в которой мы управляем нашими снимками
Current State - состояние в котором мы находимся(а мы установили IDE и необходимый софт для разработке на python)
Снова делаем снимок
Назову его codePython, потому что побольшому счёту у меня там IDE code, который готов работать с Python.
Теперь возвращаемся снимку clear и нажимаем на Restore
Убираю галку, так как я уже создал тот снимок, который мне нужен и сохранять текущее состояние мне не нужно
И жмём на Start
Можете проверить есть ли в системе VS Code :)
Установка NextCloud
Для начала установим Apache, PHP, MariaDB и необходимые расширения
sudo apt install apache2 libapache2-mod-php mariadb-server php php-mysql php-xml php-mbstring php-curl php-zip php-gd php-intl php-bcmath php-json php-imagick -y
Теперь запустим MariaDB и настроим базу данных
sudo mysql -u root -p
Введя предыдущую команду мы открыли консоль нашей базы, теперь нужно вставить этот текст
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'sunn1nja_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Загрузка и установка NextCloud
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/nextcloud-31.0.1.zip
sudo unzip nextcloud-31.0.1.zip && sudo rm nextcloud-31.0.1.zip
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud
Создание конфигурационного файла
sudo nano /etc/apache2/sites-available/nextcloud.conf
в который нужно вставить
Теперь активируем
sudo a2ensite nextcloud
sudo a2enmod rewrite
sudo systemctl daemon-reload
sudo systemctl reload apache2
Проверка прав
sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud
Теперь открываем браузер и переходим на http://localhost
Сверху вам будет предложено создать админа, а снизу вам нужно будет ввести настройки от бд
в нашем случае, имя бд - nextcloud, имя пользователя базы данных - nextclouduser, пароль от бд - sunn1nja_password.
Пройдёт немного времени и установка будет завершена.
Хотите установите рекомендованные расширения, а можете этого не делать, дело ваше.
Теперь выключим виртуальную машину и снова отправися к "снимкам виртаульной машины"
И нажмём на Take при Current State, чтобы создать снимок того что мы тут только что наделали.
Теперь всё что бы я потом не делал, я всегда могу вернуться к только-что установленному nextcloud, или же могу вернуться к "отпечатку системы" в котором установлен code+python.
Таким образом можно тестировать "опасный софт", заниматься иследованиями, разработкой и много чем ещё!!!