Blog / Makaleler

Centos 7 sunucular için Node.js kurulumu

Bu yazı 2020 yılından. Anlatılan sürümler, fiyatlar ve adresler o günden bu yana değişmiş olabilir.

Node.js, açık kaynak kodlu olarak kullanıcılara ücretsiz sunulan, ağ üzerinden çalışan uygulamalar yazmak için kullanılan bir çalışma ortamıdır. Kullandığı dil JavaScript'tir. Bu yazımızda Linux CentOS 7 sunucularınıza Node.js'i nasıl kurabileceğinizi anlatacağım.

Güncelleme (Kasım 2026): Bu yazıyı 2020'de yazmıştım ve o zaman anlattığım yöntem bugün artık çalışmıyor. İki sebebi var: CentOS 7'nin desteği Haziran 2024'te bitti ve paket depoları arşive taşındı; bir de yazıda kurduğumuz Node.js 14 çoktan güncelleme almayı bıraktı. Daha da önemlisi, aşağıda anlatacağım bir sebepten CentOS 7 üzerine güncel Node.js sürümlerini kurmak artık mümkün değil. Yazıyı bu gerçeklere göre baştan düzenledim.

Önce şunu bilin: CentOS 7'de modern Node çalışmıyor

Yeni bir sunucu kuruyorsanız CentOS 7 kullanmayın. CentOS 7'nin desteği bitti, yani artık güvenlik güncellemesi almıyor. Onun yerine Rocky Linux ya da AlmaLinux kurun, ikisi de CentOS'un bıraktığı yeri doldurmak için çıktı ve CentOS ile neredeyse birebir aynı çalışıyorlar.

Bunun Node.js açısından çok somut bir sebebi daha var: Node.js 18 ve üzeri sürümler, sistemde glibc 2.28 veya üzeri bir sürüm ister. CentOS 7'de glibc 2.17 var ve bu yükseltilemiyor. Yani CentOS 7 üzerine kurabileceğiniz en yeni Node.js sürümü 16, o da desteğini çoktan yitirdi. Güncel Node isteyen biri için CentOS 7 bir çıkmaz.

O yüzden yazıyı iki bölüme ayırdım. Yapabiliyorsanız birinci yolu seçin.

Yol 1 (önerilen): Rocky / AlmaLinux üzerine güncel Node.js

Bu dağıtımlarda kurulum çok basit. Node.js'in kendi deposunu (NodeSource) ekleyip kuruyoruz. Aşağıdaki komutta 24, kurmak istediğiniz Node.js sürümü. 24 şu an uzun süre desteklenen (LTS) sürüm; daha yeni bir sürüm çıktıysa bu sayıyı değiştirmeniz yeterli.

Terminal
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
sudo dnf install -y nodejs

Kurulumdan sonra sürümleri kontrol edebilirsiniz:

Terminal
node --version
npm --version

CentOS 7'den Rocky/AlmaLinux'a geçmek için sunucuyu baştan kurmak zorunda da değilsiniz; AlmaLinux ekibinin ELevate aracı var olan sunucuyu yerinde yükseltebiliyor. Önemli sunucularda denemeden önce mutlaka yedek alın.

Yol 2: CentOS 7'de kalmak zorundaysanız

Elinizdeki sunucu CentOS 7 ve değiştiremiyorsanız iki seçeneğiniz var.

Önce depo ayarını düzeltin. CentOS 7'nin depoları arşive taşındığı için yum komutları önce şu hatayı verir:

Kod
Could not retrieve mirrorlist http://mirrorlist.centos.org ... error was 14: curl#6

Bunu düzeltmek için depo adreslerini arşiv adresine yönlendiriyoruz:

Terminal
sudo sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
sudo yum clean all

Sonra Node.js'i nvm ile kurun. nvm (Node Version Manager), Node.js'i sistem geneline değil kendi kullanıcınızın altına kuran bir araç. CentOS 7'de glibc sorununa takılmadan çalışan en pratik yol bu. Yazının en başında kullandığımız NodeSource yöntemi artık CentOS 7'de işe yaramıyor, o yüzden onu çıkardım.

nvm'i kuralım (gerekli araçlarla birlikte):

Terminal
sudo yum install -y curl git
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.41.0/install.sh | bash

Kurulumdan sonra nvm'in tanınması için terminali kapatıp yeniden açın (ya da source ~/.bashrc yazın). Sonra Node.js'i kuruyoruz. CentOS 7'de sorunsuz çalışan en yüksek sürüm 16 olduğu için onu kuruyoruz:

Terminal
nvm install 16
node --version

Burada dürüst olmam lazım: Node.js 16 da artık güvenlik güncellemesi almıyor. İnternete açık bir sunucuda güncel olmayan bir Node sürümü çalıştırmak risklidir. Bu yüzden bu yol sadece geçici bir çözüm; asıl yapmanız gereken Yol 1'e geçmek. (CentOS 7'de daha yeni Node sürümleri için topluluğun hazırladığı "unofficial-builds" denilen özel derlemeler var ama resmi değiller, bunlara güvenmeden önce iyi düşünün.)

Kurulumu kontrol etmek

Hangi yolu kullanırsanız kullanın, kurulumun başarılı olduğunu şu iki komutla doğrularsınız. Çıktıdaki numaralar kurduğunuz sürüme göre değişir, önemli olan komutların bir sürüm numarası döndürmesi.

Terminal
node --version
npm --version

Örnek çıktı:

Kod
v24.8.0
10.9.3
Bu yazıyı paylaşXFacebook