Sign In
Sign In

How to Create a Streaming Server with OBS and Ubuntu

How to Create a Streaming Server with OBS and Ubuntu
JC Brian Refugia
Technical writer
Ubuntu
03.07.2024
Reading time: 3 min

An open-source streaming tool called Open Broadcasting Studio (OBS) enables you to make and share streams to prominent websites like YouTube, Facebook, Twitch, and DLive, as well as to a self-hosted stream server. To broadcast your content, this article shows you how to set up an OBS streaming server.

Here’s how to create a streaming server with OBS in Ubuntu.

Preparation for Installation

  • A system, such as a cloud server, running Ubuntu with Desktop environment

  • Root access or user with sudo privilege

  • Minimum 4GB of RAM

  • Minimum of 2 Virtual CPUs

  • At least 80GB Storage

  • At least 3TB bandwidth

Installation of OBS Studio on Ubuntu

After all requirements are met, proceed with the creation of a streaming server with OBS.

  1. Login to the terminal. Add the obs-studio repository by running the command below.

sudo add-apt-repository ppa:obsproject/obs-studio
  1.  Update the server:

sudo apt update && apt upgrade -y
  1. Install the transcoding tool FFmpeg along with OBS Studio. Run the command below.

sudo apt install ffmpeg obs-studio -y

Configuring OBS for streaming

1. Use remote desktop software, such as VNC viewer or NoMachine, to connect to the Ubuntu server desktop. Login as a local user, not root. In this tutorial, VNC viewer will be used to connect. You can set up xfce and xrdp on Ubuntu using many guides online, for example, this one.

Image16

2. Once a successful login has been established, the desktop will appear on the homepage. A similar page will appear as seen below.

Image13

3. Open Application Finder and search for OBS Studio and click Launch.

Image5

4. The application will open same as below.

Image6

5. To modify some options, go to Settings on the right side of the bottom panel.

Image2

6. The main parameters that must be modified based on the requirement are the output, audio, and video settings.

Image10

7.  In the Output tab, streaming and recording output can be modified.

Image9

8. In the Audio tab, there are options to choose what audio to be used.

Image12

9. In the Video Tab, resolution can be adjusted based on the requirement of users.

Image11

10. On the Stream tab, go to Service and select what streaming platform will be used by dropping down the arrow key.

There are several options to choose from. The most popular are Youtube, Twitter and Twitch. In this tutorial, the platform to be used is Youtube. After choosing Youtube click on Use Stream Key. You can obtain the stream key following this OBS guide.    

Another platform is Twitch. For Twitch, The stream key can be found on the user Twitch account, here’s the link.

Once the key has been obtained, paste it on the Stream Key field same as below then click OK.

Image1

Note: Each streaming platform has different instructions on how to get the Streaming key.

11.  Lastly, start the streaming by going to Sources tab and adding stream video and audio source by clicking on +.

Image8

12.  There are multiple options to choose on what source needs to be used. In this case the Browser will be used.

Image3

13.. After choosing the browser, specify the URL of the streaming site, make sure that the stream is active.

Image14

14. That’s it. Click Start Streaming and the streaming will run.

Image15

Conclusion

In conclusion, Ubuntu and OBS can be used to create a stable and adaptable streaming server that offers excellent live streaming. With complete control over the setup, a user can attain professional-grade streaming capabilities by utilizing the power of OBS Studio and the stability of Ubuntu. This combination enables for comprehensive customization and optimization to meet individual demands, in addition to providing cost-effective streaming.

Cloud tip:

Projects deployed on cloud based server hosting can benefit from choosing an Amsterdam VPS to keep infrastructure close to European audiences.

Ubuntu
03.07.2024
Reading time: 3 min

Similar

Ubuntu

User Permissions Management in Ubuntu

Managing user permissions is crucial for system security. Ineffective access configuration often makes a system vulnerable. This guide will show you how to secure your cloud server with simple yet effective methods for managing user accounts. It is particularly useful for novice system administrators and other IT professionals. User permissions in Linux significantly impact system security. Proper configuration makes it harder for attackers to access your system. Basic User Settings Commands can be used to manage system access, creating a set of users who can read, edit, or execute data stored on the server. Ubuntu, as other Linux distributions, uses two basic user units: user and group. Let's see how to create and delete them. Creating a User A user is an individual account capable of executing commands and accessing system data. The simplest way to make a user in Ubuntu is: sudo adduser username The system will prompt you to set a password. Blocking and Deleting a User To block a user, use: sudo usermod -L username To unblock the user, replace -L with -U. To delete a user in Ubuntu: sudo userdel -r username The -r flag also removes the user’s home directory and all their data, a step that is irreversible. To retain the user’s information, omit the -r flag. Creating a Group A group is a collection of one or more accounts that share access to system data. To create a new group, enter: sudo addgroup groupname To check a user’s group memberships, use: groups username To add a user to a group in Ubuntu: sudo usermod -aG groupname username Here, -a means "add" and -G specifies the group. Deleting a Group To delete a group: sudo delgroup groupname Listing All Users and Groups To see a list of all system accounts, use: cat /etc/passwd Similarly, to see all groups: cat /etc/group Viewing User Groups and Permissions The /etc/group file contains information about all system groups and user memberships. To view all groups a user belongs to: groups username To view permissions for using sudo commands, check if the user belongs to the sudo group. Changing User Passwords To change a user’s password: sudo passwd username You will be prompted to enter a new password for the specified account. Usermod and ID Every process in the system is associated with an account identifier, indicating the user who initiated the process. By default, User IDs (UID) from 0 to 999 are reserved for system use, while newly created accounts get IDs starting from 1000. To check a user account’s properties: grep username /etc/passwd To change a user’s UID: usermod -u 2025 username To add a comment to an account: usermod -c "Comment" username To create and change the home directory: mkdir -p /catalog1/catalogusermod -d /catalog1/catalog username To change the login shell: usermod -s /sbin/nologin username Setting the login shell to /sbin/nologin prevents the user from accessing the bash shell. To set a password expiration date: usermod -e "YYYY-MM-DD" username After this date, the user cannot log in. The sudoers File and Root Permissions By default, Ubuntu grants root privileges to users for only 15 minutes to minimize security risks. The sudo command allows users to execute tasks with root privileges. Granting Root Privileges There are two main ways to set root privileges to a user in Ubuntu: Add the user to the sudo group, allowing them to execute commands with elevated privileges. Edit the sudoers file to manually assign privileges. Editing the sudoers File The sudoers file defines who has access to sudo. To edit it safely, use: sudo visudo The default contents look like this: Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL #includedir /etc/sudoers.d To add a user with root privileges: username ALL=(ALL) NOPASSWD:ALL Save the file with CTRL + X, then Y, and ENTER. Switching to Root User To switch to the root user: sudo su This combines sudo and su, allowing you to operate as the root user without prefacing each command with sudo. Creating Aliases Create user groups for simplified access management: User_Alias ADMINS = user1, user2 Use these aliases to assign permissions in the sudoers file. Interactive and Non-Interactive sudo Use sudo -i to start a shell with root privileges, useful for executing multiple commands: sudo -i File Access Management User permissions for directories and files in Ubuntu can be controlled using various commands. Adding and Removing Permissions To add permissions: chmod +rwx filename To remove permissions: chmod -rwx filename To allow execution: chmod +x filename To remove write permissions: chmod -wx filename Changing File Ownership and Group Change file ownership: chown username filename Change ownership recursively: chown -R username:group /path/to/directory Change group ownership: chgrp groupname filename Numerical Permission Codes Permissions can also be set using numerical codes: 0 = No permission 1 = Execute 2 = Write 4 = Read Basically, you add up the numbers depending on what level of permissions you want to grant. 0 = no 1 = --x 2 = -w- 3 = -wx 4 = r- 5 = r-x 6 = rw- 7 = rwx Example: chmod 777 directoryname This grants everyone permission to read, write, and execute. chmod 700 filename This grants read, write, and execute permissions only to the owner. Conclusion This guide covers user permissions management in Ubuntu and also applies to other Linux systems. By following these steps, you can create users, groups and control access to files and root privileges, enhancing your system's security. Frequently Asked Questions (FAQ) How to check user permissions in Ubuntu?  To view permissions for files and directories, use the "list long" command:ls -l The output displays a string of characters (e.g., -rwxr-xr-x) on the left side. The first character indicates the type (- for file, d for directory), and the next nine characters represent the Read (r), Write (w), and Execute (x) permissions for the Owner, Group, and Others. What is chmod 777 in Ubuntu?  chmod 777 sets the permissions of a file or directory so that everyone (Owner, Group, and Public) has full Read, Write, and Execute access. Warning: This is a major security risk. You should rarely use 777, as it allows any user on the system to modify or delete your files. What are 755 and 644 permissions?  These are the standard, secure default permissions for web servers and general usage: 755 (Directories & Scripts): The Owner has full control (Read/Write/Execute). The Group and Public can only Read and Execute (access the folder or run the script), but cannot edit or delete it. 644 (Standard Files): The Owner can Read and Write. The Group and Public can only Read. User permissions management in Ubuntu example Here is a common scenario: You want to give a user named "john" ownership of a web folder and ensure only he can edit it, while others can only view it. Change Owner: sudo chown -R john:www-data /var/www/html/site Set Directory Permissions: sudo find /var/www/html/site -type d -exec chmod 755 {} \; Set File Permissions: sudo find /var/www/html/site -type f -exec chmod 644 {} \; How do I give a user sudo (admin) permissions?  Add the user to the sudo group using the usermod command: sudo usermod -aG sudo [username] The user must log out and back in for this change to take effect. How do I view which groups a user belongs to?  Simply run the command groups [username]. If you run groupswithout a name, it shows the groups for the current logged-in user.
21 January 2026 · 6 min to read
PHP

How to Install PHP and PHP-FPM on Ubuntu 24.04

We are going to show you how to install PHP and PHP-FPM on Ubuntu 24.04. PHP, or Hypertext Preprocessor, is a popular open-source programming language used mostly for online development, for example on WordPress hosting. The only PHP implementation of PHP FastCGI that is really helpful for websites with a lot of traffic is PHP. At the end of this guide, you should be ready to go with PHP running on your server on our VPS hosting.  Before that, check our instruction on how to set up a server on Ubuntu.  PHP working scheme Prerequisites Before we start, please confirm you have the following: Ubuntu 24.04 LTS installed on the server A user account with the sudo access An essential command-line operation understanding A reliable internet connection for downloading software packages To ensure that your system is up to date, run the following commands: sudo apt updatesudo apt upgrade Install Apache Launch the Apache web server using the following command: sudo apt install apache2 Install PHP Let's begin with installing the PHP package in Ubuntu 24.04 server. First, open a terminal on your Ubuntu system. PHP and common modules are included in the installation action: sudo apt install php That command installs the core PHP package, the command-line interface, and common libraries. Make sure the installation works: php -v Start with PHP Installation Install PHP Extensions PHP extensions are the way to go to extending PHP installation with certain functions. Start by installing extensions: sudo apt install php-curl php-mbstring php-xml Short description: php-mysql: Allows MySQL database connection php-gd: Adds ability to manipulate images php-curl: Makes possible to communicate with servers php-mbstring: Provides multibyte string support php-xml: Enables XML support php-zip: Enables ZIP support Additional extensions can be installed as you see fit for your projects. You can search them using: apt-cache search php- Install and Configure PHP-FPM PHP-FPM is essential when dealing with high-traffic websites. To install and configure it: Install the package: sudo apt install php-fpm Launch PHP-FPM service. Depending on the installation, version number may differ. sudo systemctl start php8.3-fpm Tell PHP-FPM to go on boot: sudo systemctl enable php8.3-fpm Verify PHP-FPM is working: systemctl status php8.3-fpm This will output a response that says "Active (Running)" if everything is working as expected. Test PHP and PHP-FPM To ensure that PHP and PHP-FPM are both running with no problems, create a test file then serve it via the website's server. Let's say it uses Apache in this example: Generate PHP Info File. To show PHP settings using the phpinfo() function, do the following: mkdir -p /var/www/htmlecho "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php Set Up Apache for PHP-FPM. Ensure Apache is made compatible for PHP-FPM, by first finding Apache configuration file (usually /etc/apache2/sites-available/000-default.conf) then inserting: <FilesMatch \.php$>   SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost/"</FilesMatch> Remember we must alter specific PHP version and socket path to suit individual settings of the server. Activate PHP and PHP-FPM. Enable PHP and PHP-FPM following these instructions: sudo apt install libapache2-mod-phpsudo a2enmod proxy_fcgi setenvif Reboot Apache. Apply changes by restarting Apache server: sudo systemctl restart apache2 Access PHP Info Page. First open your web browser and go to: http://your_server_ip/info.php Replace [server_ip] with the server IP address or domain. You can see details of your PHP installation. This is Where You Can Check Your PHP Current Status Install Multiple PHP Versions You may need to run different programs for specific projects, and each one may need a distinct set of features. Here's how to handle and work with different PHP versions on Ubuntu 24.04. First, add PHP repository: sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/php && sudo apt update Install PHP versions you need: sudo apt install php8.1 php8.1-fpm Deselect one PHP version and select the other: sudo update-alternatives --set php /usr/bin/php8.1 If you are using multiple PHP versions, ensure that your web server is pointing to the appropriate PHP-FPM socket. Securing PHP and PHP-FPM: Best Practices As a web developer, you are aware of how crucial it is to use both PHP and PHP-FPM in secure and reliable web applications. We'll go over some security measures in this part that you should use when utilizing PHP and PHP-FPM. 1. Keep PHP and PHP-FPM Updated PHP and PHP-FPM should be up to date. Doing regular updates will eliminate known security breaches and provide overall security improvements. You need to check for updates as often as possible then update the system as soon as the updates are available. 2. Configure PHP Securely To configure PHP securely, start by disabling unnecessary and potentially dangerous functions, such as exec, shell_exec, and eval, in the PHP configuration file (php.ini). Use open_basedir directive to restrict PHP’s access to specific directories, preventing unauthorized access to sensitive files. Set display_errors to Off in production to avoid exposing error messages that could provide insights to attackers. Limit file upload sizes and execution times to reduce the risk of resource exhaustion attacks. Besides, ensure that PHP runs under a dedicated, restricted user account with minimal permissions to prevent privilege escalation. Regularly update PHP to the latest stable version to patch vulnerabilities and improve security. 3. Use Safe Error Reporting To ensure an error-free application, it is quite handy locating and correcting code bugs in a development environment. In production environment, you have the possibility to hide the PHP errors by setting the display_errors directive to be off, and you should also set the log_errors directive to be On, thus this will help you prevent PHP from showing errors to the users whereas your server will log it in a safe location without problems to users. 4. Implement Input Validation Being aware of the input validations is quite crucial during the programming of your software. Make sure that all deficiencies are tested and only SQL statements containing their SQL equivalent that can produce outwardly neutral queries via prepared statements is considered safe. 5. Secure PHP-FPM Configuration PHP-FPM is required to run using a non-usual user account with minium rights. Furthermore, access to the PHP-FPM socket or port should be very limited to the web application. 6. Enable open_basedir You need to bind open_basedir directive in order to restrict access files within the given directory. In this case, if you attempt to visit a forbidden directory and the request is accidentally transmitted to the server, PHP will prevent you from doing so. 7. Use HTTPS We need to secure web calls by making apps HTTPS-only, which is the only prominent way to block all the known hacking tricks. Installing PHP on Ubuntu 24.04 is Rewarded Conclusion With this guide, you've successfully set up PHP and PHP-FPM on Ubuntu 24.04. Your server is now configured for dynamic web applications. To maintain security and performance, remember to keep the system and packages regularly updated. If you liked this instruction, please check our Cloud Servers or low-latency US VPS to boost your cloud workflow! Frequently Asked Questions (FAQ) How do I install PHP and PHP-FPM on Ubuntu 24.04?  You can install both the core PHP and the FastCGI Process Manager (FPM) with a single command. Update your repositories and run: sudo apt update && sudo apt install php php-fpm This will install the default version, which is currently PHP 8.3. How do I enable FPM in PHP?  If you are using Nginx, FPM is enabled by default; you just need to point your server block to the socket file (usually /run/php/php8.3-fpm.sock). If you are using Apache, you must explicitly enable the configuration and the required proxy modules: sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.3-fpm sudo systemctl restart apache2 How to know if PHP-FPM is installed and running?  To verify installation, check the version: php-fpm8.3 -v To check if the service is active and running, use: sudo systemctl status php8.3-fpm You should see a green "active (running)" status. How do I enable PHP-FPM extensions?  Extensions are typically shared between the CLI and FPM. Install the extension: sudo apt install php8.3-[extension_name] (e.g., php8.3-mysql or php8.3-gd). Restart the FPM service: unlike Apache mod_php, you must restart the FPM service for changes to take effect:sudo systemctl restart php8.3-fpm Where is the PHP-FPM configuration file located?  The main global configuration file is at /etc/php/8.3/fpm/php-fpm.conf. However, the pool configuration (where you set process managers, children, and listen sockets) is located at /etc/php/8.3/fpm/pool.d/www.conf.
20 January 2026 · 8 min to read
Ubuntu

How to Install Google Chrome on Ubuntu 24.04

If you started using the internet post 2008, it is very likely that your first interaction over the internet was via Google Chrome web browser. People were frustrated with Microsoft Internet Explorer (which has reached its end of life and has now been discontinued), so when Google launched its proprietary product, Google Chrome, it was met with great demand, and hundreds of thousands of people switched to Chrome from Internet Explorer.  The reason for this switch was obvious, Chrome was definitely much faster and sleek in comparison to Internet Explorer and it offered a unique user experience. Within 4 years after its launch date, Chrome overtook Internet Explorer in terms of having the most users. And if you’re looking for a reliable, high-performance, and budget-friendly solution for your workflows, Hostman has you covered with Linux VPS Hosting options, including Debian VPS, Ubuntu VPS, and VPS CentOS. Let’s switch gears now and move to the crucial part where we’ll talk about downloading and installing Chrome on Ubuntu 24.04 LTS which happens to be the latest OS at the time. Method 1: Installing Google Chrome via Graphical Interface (GUI) The first method is straight as an arrow and needs no extra skills other than the ability to operate a personal computer. Go ahead and search the term ‘Google Chrome’ in the browser bar.  Of course, you need a browser for this. Nothing to worry about as Ubuntu has a browser that comes built-in, this built-in browser is Firefox. Follow along, see where the arrows are pointing in the screenshots and download the 64 bit .deb (For Debian/Ubuntu).  Once you select the right version, go ahead and click on Accept and Install. Go to the directory where this package is downloaded, in my case, it is downloaded within my Downloads directory. Click on the file twice so it opens up in the Software Center where you will see a green Install button. Click that. Again, click on Install. After following along, complete the authentication by putting in your password. After installation is done, go to apps and search for ‘Google Chrome’. You can click on it to open it and then you can start using it.  Method 2: Installing Google Chrome via Terminal Update Package Information Updating package information is easy, run the update command:  sudo apt update Download Chrome with wget Use the wget utility to download Chrome from the provided URL: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb This URL is the external source from where you can acquire the stable version of Chrome. Chrome is now downloaded but not yet installed. Install Chrome using dpkg To install this package you need to use the Debian package manager dpkg with the -i flag which indicates the installation. sudo dpkg -i google-chrome-stable_current_amd64.deb Fix Dependency Errors During our procedure, we didn’t come across any dependency error, if you face any then you can use the following command: sudo apt install -f Or: sudo apt-get install -f Run Google Chrome You can either open the browser from GUI or you can run this command and open the browser from within the terminal: google-chrome-stable Method 3: Installing Beta or Unstable Versions of Google Chrome Installing Google Chrome Beta Some developers get super excited when it comes to testing the versions of different products before the general public. If you are one of them, you can install Google Chrome’s beta version. Download Beta Google Chrome  Use wget with the direct URL pointing to an external source from where you can download the beta package of the browser: wget https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb Install Beta Google Chrome sudo dpkg -i google-chrome-beta_current_amd64.deb If dependency errors pop up, just use the command shown in Method 2. Run Beta Google Chrome  Open beta version using terminal: google-chrome-beta The beta version of this browser runs smoothly without any issues, if you see any warnings in the terminal simply ignore it and you can use the beta version without any hassle.  Install Unstable Google Chrome If you are someone who likes to do testing way in advance and you are okay with multiple crashes, you can install Unstable Google Chrome.  Unstable Google Chrome has feature access before Beta Chrome. Main difference between Beta Google Chrome and Unstable Google Chrome is that Beta is updated every 4 weeks while Unstable is updated every day. Download Unstable Google Chrome  wget https://dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb Install Unstable Google Chrome sudo dpkg -i google-chrome-unstable_current_amd64.deb Run Unstable Google Chrome google-chrome-unstable Unstable versions of Chrome run smoothly, warnings or errors might pop up but you can ignore those, it works ok.  Additional Tips As Ubuntu’s default repository does not have Chrome due to proprietary rights, Google Chrome creates its own repo in your system and it updates each time you update your default repository. sudo apt update && sudo apt upgrade Conclusion A vast number of Linux users prioritize their privacy and prefer open-source products. If this is you, you might be aware that Google Chrome is a proprietary product and is owned by Alphabet (parent company of Google) which means it's not open source. If you are looking for something similar and also open source then Chromium is a great browser to consider. Google Chrome came with the concept of extensions and Google enabled them by default in 2009. These extensions extended the performance of the Chrome web browser and offered additional options to accomplish many things in much easier ways than previously. The main thing that really made Chrome “The King of The Market” was its speed and the ability to get updates for new versions. Google Chrome was able to fix issues much faster than competitors and users had a fine way to access all Google Products in one place.  The birth of the Chrome browser was the result of the problems Google workers faced with the browsers in the market at the time. They created a ‘Just Built For Them’ product which was actually what was needed in the market. Internet Explorer was the most used browser at the time but it was slow. It took Google Chrome just a few years to beat Internet Explorer in the market and in the upcoming decade, it completely wiped it off. Frequently Asked Questions (FAQ) How to install Google Chrome in Linux Ubuntu? The fastest method is using the terminal. Download the official package and install it with apt to handle dependencies automatically: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb How to fix Google Chrome not opening in Ubuntu?  If Chrome fails to launch, try these steps: Run from Terminal: Type google-chrome in the terminal. The output often reveals the specific error (e.g., GPU issues or missing libraries). Clear Lock Files: If the browser thinks it is already running, remove the lock file: rm ~/.config/google-chrome/SingletonLock Check Permissions: On Ubuntu 24.04, ensure AppArmor isn't blocking the application if you are using a custom security profile. Does Ubuntu have a Chrome browser? No, Ubuntu comes with Firefox installed by default. However, you can easily install: Google Chrome: The official proprietary browser (requires manual installation). Chromium: The open-source version of Chrome, available directly in the Ubuntu Software Center (Snap store). How do I update Google Chrome on Ubuntu? When you install the .deb file, it automatically adds the Google repository to your system. Chrome will update alongside your other system apps when you run sudo apt update and sudo apt upgrade. How do I make Chrome my default browser? Go to Settings > Apps > Default Apps (or "Default Applications").Look for the "Web" dropdown menu and select Google Chrome.
20 January 2026 · 7 min to read

Do you have questions,
comments, or concerns?

Our professionals are available to assist you at any moment,
whether you need help or are just unsure of where to start.
Email us
Hostman's Support