All Projects → mikegioia → Debian Server

mikegioia / Debian Server

Complete Debian/Ubuntu Web Application Server Installation

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Debian Server

Serverfarmer
Manage multiple servers with different operating systems, configurations, requirements etc. for many separate customers in an outsourcing model.
Stars: ✭ 122 (+454.55%)
Mutual labels:  management-system, server, ubuntu, debian
Ansible Role Docker
Ansible Role - Docker
Stars: ✭ 845 (+3740.91%)
Mutual labels:  server, ubuntu, debian
Iredmail
Full-featured, open source mail server solution for mainstream Linux/BSD distributions.
Stars: ✭ 343 (+1459.09%)
Mutual labels:  server, ubuntu, debian
Qb
QuickBox is much more than a ‘seedbox installer script’, it is a simplistic approach to achieving easy seedbox and services management from a beautifully designed dashboard. Allowing users the ability to interact with their seedbox and server on a professional grade level.
Stars: ✭ 626 (+2745.45%)
Mutual labels:  ubuntu, debian
Mkosi
Build Legacy-Free OS Images
Stars: ✭ 589 (+2577.27%)
Mutual labels:  ubuntu, debian
Open Build Service
Build and distribute Linux packages from sources in an automatic, consistent and reproducible way #obs
Stars: ✭ 599 (+2622.73%)
Mutual labels:  ubuntu, debian
Buildswiftonarm
All you need to build Swift on a RaspberryPi or other ARM boards, updated to Swift 5.1.5
Stars: ✭ 448 (+1936.36%)
Mutual labels:  ubuntu, debian
Wordops
Install and manage a high performance WordPress stack with a few keystrokes
Stars: ✭ 649 (+2850%)
Mutual labels:  ubuntu, debian
Deepin Wine Ubuntu
Deepin Wine for Ubuntu/Debian
Stars: ✭ 5,790 (+26218.18%)
Mutual labels:  ubuntu, debian
Wireguard Install
WireGuard road warrior installer for Ubuntu, Debian, CentOS and Fedora
Stars: ✭ 650 (+2854.55%)
Mutual labels:  ubuntu, debian
Openvpn Install
Set up your own OpenVPN server on Debian, Ubuntu, Fedora, CentOS or Arch Linux.
Stars: ✭ 7,142 (+32363.64%)
Mutual labels:  ubuntu, debian
Packer Boxes
Jeff Geerling's Packer build configurations for Vagrant boxes.
Stars: ✭ 495 (+2150%)
Mutual labels:  ubuntu, debian
Notion Linux
Native Notion packages for Linux
Stars: ✭ 469 (+2031.82%)
Mutual labels:  ubuntu, debian
Anlinux App
AnLinux allow you to run Linux on Android without root access.
Stars: ✭ 614 (+2690.91%)
Mutual labels:  ubuntu, debian
Uwsgi Nginx Docker
Docker image with uWSGI and Nginx for applications in Python 3.5 and above and Python 2.7 (as Flask) in a single container. Optionally with Alpine Linux.
Stars: ✭ 466 (+2018.18%)
Mutual labels:  server, debian
Atilo
Linux installer for termux
Stars: ✭ 629 (+2759.09%)
Mutual labels:  ubuntu, debian
Debops
DebOps - Your Debian-based data center in a box
Stars: ✭ 734 (+3236.36%)
Mutual labels:  ubuntu, debian
Atomic Toolkit
AtoMiC Toolkit simplifies HTPC / Home Server setup and management on Ubuntu and Debian variants including Raspbian. It currently supports: Couchpotato, Deluged, Emby, FFmpeg, Headphones, Htpcmanager, Jackett, Kodi, Lazylibrarian, Madsonic, Mono, Mylar, Nzbget, Nzbhydra, NzbToMedia, Ombi, Plex, Plexpy, Pyload, qBittorrent, Radarr, Sabnzbd+, Sickgear, Sickrage, Sonarr, Subsonic, Transmission, Unrar, Watcher, and Webmin.
Stars: ✭ 747 (+3295.45%)
Mutual labels:  ubuntu, debian
Switch Apt Mirror.ansible.role
switch apt mirror for Debian & Ubuntu with Ansible role.
Stars: ✭ 5 (-77.27%)
Mutual labels:  ubuntu, debian
Desktopify
Convert Ubuntu Server for Raspberry Pi into a Desktop
Stars: ✭ 400 (+1718.18%)
Mutual labels:  server, ubuntu

Debian/Ubuntu Web Server Installation

Latest Version: 3.0 — June 14, 2017

About

A custom set of software installation scripts for a Debian 7/8 web server. Included are scripts for NGINX, MariaDB, MongoDB, MySQL, PHP 5/7, Redis, CouchDB, Fail2Ban, Monit, XtraBackup, OpenSSL, and creating and setting up the bash environment, and the firewall using iptables. Everything is optional!

Support for HTTP/HTTPS is also included for NGINX and there are sample config files for HTTPS domains. All scripts are broken out into separate files if you want to run them separately, but simply run ./install.sh <profile> to fire everything from your config file. To run individual scripts use ./install.sh <profile> <script1.sh>. These scripts are optimized to run on a clean Debian 8 or Ubuntu 16.04 installation and tested heavily on Linode and AWS. If you have any issues at all, please add them here or message me directly @mikegioia (https://twitter.com/mikegioia).

Extremely important SSH notes

SSH is set to run on port 30000 in this setup. If you want to use a different port (like 22) then edit line 5 of /src/sshd_config.

This SSH config looks in ./ssh/authorized_keys for SSH keys. Edit the /src/authorized_keys file to include any SSH keys for your local machines to connect directly. Password authentication is currently enabled but in my experience this is unwise. If you want to disable password authentication then edit line 50 of /src/sshd_config to be PasswordAuthentication no and then restart SSH by running sudo /etc/init.d/ssh restart. You can include an sshd_config file in any of your environments to overwrite the default sshd_config that will be copied.

Run the configuration script for each profile

To create a new default profile, run ./configure.sh <profile> where <profile> is the path hierarchy you want in the /conf directory. For example, to create a new profile named 'development', simply run ./configure.sh development. The folder 'development' will be created in the /conf directory with all of the default configuration files.

To create a profile with more context, you could run something like ./configure.sh dev/app/db1 which would create that path in the /conf directory. In this case, db1 would be the folder with the configuration files.

The main configuration file created will be named config which has a few variables you can set:

  • username: user account on the web server
  • scripts: array of scripts to run by default
  • {%program%}Version: version to install for the given software
  • {%program%}Dependencies: additional dependencies during software config
  • ipv4Public: machine's public IP address (optional)
  • ipv4Private: machines internal network IP address (optional)

Edit the server configuration files

Inside /conf/<profile> are a collection of configuration files and source files that the applications will use. When you run ./configure.sh <profile>, a set of default files will be created in your profile folder. You can edit and remove these as you see fit. They all extend the base configuration files. For instance, the local my.cnf will be your server-specific MySQL configuration. If you delete the file, it just won't be copied over during the MySQL installation.

Run the installer

When you're ready to install run the command ./install.sh <profile> AS ROOT. These scripts assume root so please sudu su before running them.

Scripts

@TODO Write out info on each individual software script CouchDB, Fail2Ban, Firewall, MariaDB, MongoDB, Monit, MySQL, NGINX, OpenSSL, PHP 5.6, PHP 7, Profile, SSH, User, XtraBackup

Notes about this installation

  • This script will apt-get update and apt-get upgrade your system. This could take a while so be sure to watch over it.
  • You will be prompted to set passwords for MySQL and MariaDB. Keep those handy and watch when it prompts.
  • You will be asked to install extensions if you run the PHP script. These are all optional.
  • You will be asked if you want to overwrite the SSH config each time the profile script runs. It will default to NO but it's best to copy this over the first time you run it.
  • It's my practice to git clone this repo (or fork) to every server as the regular user. This way, I can git pull changes without needing to sudo. Then, I sudo su before running the installer.
  • I've timed the entire install process and it averages to about 8 minutes on a 512 MB machine!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].