Hello everyone!
I have a question about setting up a Teamspeak server with my own domain and creating a proxy server to bypass provider blocks. Additionally, I want to host a couple of simple PHP websites on the same server.
(https://i.redd.it/ps4v1vipfyc71.png)
To achieve this, I decided to rent a cheap VPS since I do not want to purchase Windows or pay monthly fees. However, I am a beginner and have no experience with Linux. I previously installed Ubuntu on a virtual machine with a graphical interface but did not pursue it further.
Could you advise which Linux distribution to choose for a beginner like me? While I don't aim to become an expert, I do want to gain basic knowledge of administration. Additionally, if you have any tutorial recommendations, video courses, or YouTube channels, please let me know. Thank you.
When considering popular hosting sites, CentOS is a commonly encountered "rpm-based" distribution from the Red Hat family. Opinions on Ubuntu are varied - some criticize it as being "too user-friendly", but personally, I find it to be a great choice. However, it can sometimes be overly helpful and think for the user. Ubuntu is deb-based and part of the Debian family, while FreeBSD and other similar distributions also exist.
If possible, it's best to choose a district in which a friend is knowledgeable in order to have reliable support. Otherwise, I recommend Ubuntu due to its user-friendliness and abundance of dоcumentation available for guidance.
If you don't have a friend who is knowledgeable in Linux, then using Ubuntu or Debian is a good choice. Nowadays, there are many inexperienced Linux developers searching for solutions to their problems online, particularly with Ubuntu. Therefore, it should be easy to find a guide for setting up or resolving any emerging issues by doing a simple Google search.
For "simple sites", it's important to understand what exactly you'll need to run. Personally, I tend to use https://bitnami.com/stack/lamp and its corresponding modules for quick solutions when I don't want to spend time figuring things out or need to test something new. This can save a lot of time and effort.
Ubuntu or Debian are both good choices. However, your understanding of the question at hand is somewhat mistaken. When renting a VPS, you'll typically be constrained by the offerings of the hosting provider; it's usually impossible to install just any Linux distribution remotely. Therefore, it's important to do your research and determine which Linux distributions are compatible with your chosen provider before settling on one. This can help avoid any unnecessary headaches or complications down the road.
Linux Mint Cinnamon, with its user-friendly shell created by Clement Lefebvre, is a great option for novice users who are already familiar with Microsoft products. Its graphical interface simplifies the installation process and configuration, with drivers and codecs automatically installed.
Linux Mint Mate is another distribution from the same team that provides a different graphical shell. It has a wider menu but fewer pre-installed programs than Cinnamon, and receives updates less frequently.
Ubuntu Desktop, released in 2004, is one of the most popular Linux distributions for beginners. Although it lacks some proprietary codecs and non-open source programs, it's still a good choice with extensive dоcumentation and plenty of user support. GNOME 3-based and updated regularly, Ubuntu offers a chance for users to learn terminal commands.
Finally, Zorin OS provides a modern and sleek interface, primarily targeted towards non-technical users. The Irish company responsible for its development and support has placed a strong emphasis on being both aesthetically pleasing and beginner-friendly.
For a beginner like you, I would recommend starting with Ubuntu as your Linux distribution. Ubuntu is widely used, well-dоcumented, and has a strong community support system that can help you with any questions or issues you may encounter along the way. It also has a user-friendly graphical interface, which can ease your transition into Linux.
To gain basic knowledge of Linux administration, you can start by exploring online tutorials and video courses. Here are a few recommendations:
1. Linux Journey (https://linuxjourney.com/): This is a free online tutorial that covers a wide range of Linux-related topics, from basic commands to more advanced concepts.
2. Linux Foundation Training (https://training.linuxfoundation.org/): The Linux Foundation offers various paid courses that can help you learn Linux administration. Their courses are designed for different skill levels, including beginners.
3. YouTube channels: There are several YouTube channels dedicated to Linux tutorials, such as "The Linux Experiment" and "Linux Scoop." These channels provide step-by-step guides and explanations on various Linux topics.
more resources and tips to help you with your Linux journey:
1. Official dоcumentation: Most Linux distributions have comprehensive dоcumentation available on their websites. Ubuntu, for example, has an extensive wiki (https://wiki.ubuntu.com/) that covers various topics, including installation, configuration, and troubleshooting.
2. Online forums and communities: Joining online forums and communities dedicated to Linux can be immensely helpful. Websites like Stack Exchange (https://unix.stackexchange.com/) and Reddit's r/linux community (https://www.reddit.com/r/linux/) are great places to ask questions and get assistance from experienced Linux users.
3. Virtualization and sandboxing: As a beginner, it's a good idea to experiment in a safe environment. Virtualization tools like VirtualBox (https://www.virtualbox.org/) allow you to create virtual machines where you can practice Linux installations, configurations, and administration without affecting your main system.
4. Project-based learning: Consider taking up small projects that align with your goals. For example, start by setting up a local web server using tools like Apache or Nginx and host your PHP websites on it. As you progress, you can expand to more complex projects like setting up a Teamspeak server or creating a proxy server.
5. Linux command line: Familiarize yourself with basic Linux commands as they are the building blocks of Linux administration. Understanding how to navigate the file system, manipulate files and directories, and execute commands will give you a solid foundation. Online tutorials like "The Linux Command Line" by William Shotts can be helpful in this regard.
few more tips and resources to help you on your Linux journey:
1. Linux package management: Familiarize yourself with the package management system of your chosen Linux distribution. Ubuntu, for example, uses the apt package management system. Understanding how to install, update, and remove software using the package manager is essential.
2. Command line text editors: Learning to use a command line text editor like Vim or Nano will be beneficial for editing configuration files and scripts. Vim is a powerful and widely-used text editor, but it has a steep learning curve. Nano, on the other hand, is more beginner-friendly.
3. Shell scripting: As you gain more experience, learning shell scripting can help automate repetitive tasks and streamline your administration workflows. Bash is one of the most commonly used shells and is a good starting point. There are numerous online tutorials and resources to help you learn shell scripting.
4. System monitoring and troubleshooting: Familiarize yourself with tools like top, htop, and systemd for monitoring system resources and processes. Additionally, learn about log files and how to troubleshoot issues by analyzing them. The Linux dоcumentation Project (www.tldp.org) has comprehensive guides on various topics like system monitoring and troubleshooting.
5. GitHub and Git: GitHub is a platform that hosts code repositories, and Git is a version control system widely used in the software development community. Learning how to use Git and GitHub will help you collaborate with others and track changes to your code or configuration files.
I'd recommend Ubuntu for a beginner like you, as it's user-friendly, widely used, and has a massive community of developers and users who contribute to its dоcumentation and support. You can opt for the latest LTS (Long Term Support) version, which provides stability and security updates for a longer period.
For setting up a Teamspeak server, you'll need to install the necessary dependencies, configure the server, and set up the proxy. I recommend following tutorials and guides from official sources, such as the Teamspeak dоcumentation, Ubuntu's official dоcumentation, and online forums like Stack Overflow or Reddit's r/Teamspeak community.
As for PHP web hosting, you can install Apache2 or Nginx as your web server, and PHP as your scripting language. You can find plenty of tutorials and guides online, including official dоcumentation from Apache and PHP.
Some recommended resources for beginners include:
Ubuntu's official dоcumentation: https://ubuntu.com/dоcumentation
Teamspeak's official dоcumentation: https://docs.teamspeak.com/
Apache's official dоcumentation: https://httpd.apache.org/docs/
PHP's official dоcumentation: https://www.php.net/docs
YouTube channels like Linux Tutorial, Ubuntu Tutorials, and ServerGuy, which provide a wide range of tutorials and guides for Linux and server administration.
However, I'd like to add a critical note: as a beginner, you might find it challenging to set up and manage a VPS, especially if you're not familiar with Linux. You might want to consider a managed VPS or a cloud hosting service that offers more user-friendly interfaces and support.